ReliablePublishingMessagingChannel

lepus.client.apis.ReliablePublishingMessagingChannel

Attributes

Source:
MessagingAPI.scala
Graph
Supertypes
trait Consuming[F]
class Object
trait Matchable
class Any

Members list

Concise view

Value members

Inherited methods

def ack(deliveryTag: DeliveryTag, multiple: Boolean): F[Unit]

Attributes

Inherited from:
Consuming
Source:
MessagingAPI.scala

consumes Confirmation messages from the server, this should be used exclusively, or otherwise different instances compete over received values, and each get different set of values.

consumes Confirmation messages from the server, this should be used exclusively, or otherwise different instances compete over received values, and each get different set of values.

Attributes

Inherited from:
ReliablePublishing
Source:
MessagingAPI.scala
final def consume[T](queue: QueueName, mode: ConsumeMode, noLocal: NoLocal, exclusive: Boolean, arguments: FieldTable)(using dec: EnvelopeDecoder[T], F: RaiseThrowable[F]): Stream[F, DeliveredMessage[T]]

Consumes and decodes messages

Consumes and decodes messages

Note that you MUST acknowledge (ack, reject, nack) messages if you select any ConsumeMode but ConsumeMode.RaiseOnError(false)

Attributes

arguments

extra params

exclusive

request exclusive consumer right

mode

what to do when a message cannot be decoded

noLocal

don't consume messages published on this connection

queue

QueueName to consume from

Inherited from:
Consuming
Source:
MessagingAPI.scala
def consumeRaw(queue: QueueName, noLocal: NoLocal, noAck: NoAck, exclusive: Boolean, arguments: FieldTable): Stream[F, DeliveredMessageRaw]

Consumes raw messages

Consumes raw messages

Attributes

Inherited from:
Consuming
Source:
MessagingAPI.scala
def get(queue: QueueName, noAck: NoAck): F[Option[SynchronousGetRaw]]

Attributes

Inherited from:
Consuming
Source:
MessagingAPI.scala
def nack(deliveryTag: DeliveryTag, multiple: Boolean, requeue: Boolean): F[Unit]

Attributes

Inherited from:
Consuming
Source:
MessagingAPI.scala
final inline def publish[T : EnvelopeEncoder](exchange: ExchangeName, routingKey: ShortString, payload: T)(implicit evidence$6: EnvelopeEncoder[T], NotGiven[T <:< Message[_]]): F[DeliveryTag]

Creates a message that is not mandatory, encodes and publishes it

Creates a message that is not mandatory, encodes and publishes it

Attributes

Inherited from:
ReliablePublishing
Source:
MessagingAPI.scala
final inline def publish[T : EnvelopeEncoder](exchange: ExchangeName, routingKey: ShortString, message: Message[T]): F[DeliveryTag]

Encodes and publishes a message that is not mandatory

Encodes and publishes a message that is not mandatory

Attributes

Inherited from:
ReliablePublishing
Source:
MessagingAPI.scala
final inline def publish[T : EnvelopeEncoder](env: Envelope[T]): F[DeliveryTag]

Encodes and publishes an envelope, this is a low level operation and is exposed only for special circumstances, always prefer to use other higher level publish methods

Encodes and publishes an envelope, this is a low level operation and is exposed only for special circumstances, always prefer to use other higher level publish methods

Note that if a mandatory message fails in routing, it is returned to the client and you MUST also consume returned if you publish mandatory messages

Attributes

Inherited from:
ReliablePublishing
Source:
MessagingAPI.scala
final inline def publishRaw(exchange: ExchangeName, routingKey: ShortString, message: MessageRaw): F[DeliveryTag]

Publishes raw message that is not mandatory This is useful if you have handled encoding and want to publish a raw message directly

Publishes raw message that is not mandatory This is useful if you have handled encoding and want to publish a raw message directly

Attributes

Inherited from:
ReliablePublishing
Source:
MessagingAPI.scala

Publishes raw envelope, this is a low level operation and is exposed only for special circumstances, always prefer to use other higher level publish methods

Publishes raw envelope, this is a low level operation and is exposed only for special circumstances, always prefer to use other higher level publish methods

Note that if a mandatory message fails in routing, it is returned to the client and you MUST also consume returned if you publish mandatory messages

Attributes

Inherited from:
ReliablePublishing
Source:
MessagingAPI.scala
final def publisher[T : EnvelopeEncoder](implicit evidence$7: EnvelopeEncoder[T], Concurrent[F]): (F, Envelope[T]) => DeliveryTag | ReturnedMessageRaw

like publisherRaw, but encodes messages as well

like publisherRaw, but encodes messages as well

Attributes

Inherited from:
ReliablePublishing
Source:
MessagingAPI.scala

A pipe that publishes Envelopes that may or may not be mandatory, And returns a delivery tag for every incoming message, and ReturnedMessageRaw for returned messages.

A pipe that publishes Envelopes that may or may not be mandatory, And returns a delivery tag for every incoming message, and ReturnedMessageRaw for returned messages.

Note that this pipe SHOULD be used exclusively, as it is draining from the returned messages that is backed by a queue.

Attributes

Inherited from:
ReliablePublishing
Source:
MessagingAPI.scala
def qos(prefetchSize: Int, prefetchCount: Short, global: Boolean): F[QosOk.type]

Attributes

Inherited from:
Consuming
Source:
MessagingAPI.scala
def recover(requeue: Boolean): F[Unit]

Attributes

Inherited from:
Consuming
Source:
MessagingAPI.scala
def recoverAsync(requeue: Boolean): F[Unit]

Attributes

Inherited from:
Consuming
Source:
MessagingAPI.scala
def reject(deliveryTag: DeliveryTag, requeue: Boolean): F[Unit]

Attributes

Inherited from:
Consuming
Source:
MessagingAPI.scala

consumes returned messages from the server, this should be used exclusively, or otherwise different instances compete over received values, and each get different set of values.

consumes returned messages from the server, this should be used exclusively, or otherwise different instances compete over received values, and each get different set of values.

Also note that this is a low level operation that is exposed for special circumstances, always prefer to use publisher pipe instead, unless necessary

Attributes

Inherited from:
ReliablePublishing
Source:
MessagingAPI.scala