Class PgSubscriber

java.lang.Object
io.vertx.mutiny.pgclient.pubsub.PgSubscriber
All Implemented Interfaces:
MutinyDelegate

public class PgSubscriber extends Object implements MutinyDelegate
A class for managing subscriptions using LISTEN/UNLISTEN to Postgres channels.

The subscriber manages a single connection to Postgres.

NOTE: This class has been automatically generated from the original non Mutiny-ified interface.

See Also:
  • PgSubscriber
  • Field Details

  • Constructor Details

    • PgSubscriber

      public PgSubscriber(io.vertx.pgclient.pubsub.PgSubscriber delegate)
      Create a new instance of PgSubscriber delegating to the given (non-null) instance of PgSubscriber.
    • PgSubscriber

      public PgSubscriber(Object delegate)
  • Method Details

    • getDelegate

      public io.vertx.pgclient.pubsub.PgSubscriber getDelegate()
      Get the delegate instance.

      This method returns the instance on which this shim is delegating the calls. And so, give you access to the bare API.

      Specified by:
      getDelegate in interface MutinyDelegate
      Returns:
      the delegate instance
    • connect

      @CheckReturnValue public io.smallrye.mutiny.Uni<Void> connect()
      Connect the subscriber to Postgres.

      Unlike the bare Vert.x variant, this method returns a Uni. The uni emits the result of the operation as item. If the operation fails, the uni emits the failure.

      Don't forget to subscribe on it to trigger the operation.

      Returns:
      A Uni representing the asynchronous result of this operation.
      See Also:
      • PgSubscriber.connect()
    • connectAndAwait

      public void connectAndAwait()
      Connect the subscriber to Postgres.

      Unlike the bare Vert.x variant, this method returns a Void. This method awaits indefinitely for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).

      See Also:
      • PgSubscriber.connect()
    • connectAndForget

      public PgSubscriber connectAndForget()
      Connect the subscriber to Postgres.

      Unlike the bare Vert.x variant, this method ignores the Void result or any failure.

      Returns:
      The current instance to chain operations if needed.
      See Also:
      • PgSubscriber.connect()
    • close

      @CheckReturnValue public io.smallrye.mutiny.Uni<Void> close()
      Close the subscriber, the retry policy will not be invoked.

      Unlike the bare Vert.x variant, this method returns a Uni. The uni emits the result of the operation as item. If the operation fails, the uni emits the failure.

      Don't forget to subscribe on it to trigger the operation.

      Returns:
      A Uni representing the asynchronous result of this operation.
      See Also:
      • PgSubscriber.close()
    • closeAndAwait

      public void closeAndAwait()
      Close the subscriber, the retry policy will not be invoked.

      Unlike the bare Vert.x variant, this method returns a Void. This method awaits indefinitely for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).

      See Also:
      • PgSubscriber.close()
    • closeAndForget

      public PgSubscriber closeAndForget()
      Close the subscriber, the retry policy will not be invoked.

      Unlike the bare Vert.x variant, this method ignores the Void result or any failure.

      Returns:
      The current instance to chain operations if needed.
      See Also:
      • PgSubscriber.close()
    • subscriber

      public static PgSubscriber subscriber(Vertx vertx, io.vertx.pgclient.PgConnectOptions options)
      Create a subscriber.
      Parameters:
      vertx - the vertx instance
      options - the connect options
      Returns:
      the subscriber
    • channel

      public PgChannel channel(String name)
      Return a channel for the given name.
      Parameters:
      name - the channel name

      This will be the name of the channel exactly as held by Postgres for sending notifications. Internally this name will be truncated to the Postgres identifier maxiumum length of (NAMEDATALEN = 64) - 1 == 63 characters, and prepared as a quoted identifier without unicode escape sequence support for use in LISTEN/UNLISTEN commands. Examples of channel names and corresponding NOTIFY commands:

      • when name == "the_channel": NOTIFY the_channel, 'msg', NOTIFY The_Channel, 'msg', or NOTIFY "the_channel", 'msg' succeed in delivering a message to the created channel
      • when name == "The_Channel": NOTIFY "The_Channel", 'msg', succeeds in delivering a message to the created channel
      Returns:
      the channel
    • reconnectPolicy

      public PgSubscriber reconnectPolicy(Function<Integer,Long> policy)
      Set the reconnect policy that is executed when the subscriber is disconnected.

      When the subscriber is disconnected, the policy function is called with the actual number of retries and returns an amountOfTime value:

      • when amountOfTime < 0: the subscriber is closed and there is no retry
      • when amountOfTime == 0: the subscriber retries to connect immediately
      • when amountOfTime > 0: the subscriber retries after amountOfTime milliseconds

      The default policy does not perform any retries.

      Parameters:
      policy - the policy to set
      Returns:
      a reference to this, so the API can be used fluently
    • closeHandler

      public PgSubscriber closeHandler(Runnable handler)
      Set an handler called when the subscriber is closed.
      Parameters:
      handler - the handler
      Returns:
      a reference to this, so the API can be used fluently
    • actualConnection

      public PgConnection actualConnection()
      Returns:
      the actual connection to Postgres, it might be null
    • closed

      public boolean closed()
      Returns:
      whether the subscriber is closed
    • newInstance

      public static PgSubscriber newInstance(io.vertx.pgclient.pubsub.PgSubscriber delegate)
      Creates a new instance of the PgSubscriber.
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object