RabbitClient

class RabbitClient[F[_]]
Companion
object
class Object
trait Matchable
class Any

Value members

Concrete methods

def addPublishingListener(listener: PublishReturn => F[Unit])(channel: AMQPChannel): F[Unit]
def basicCancel(consumerTag: ConsumerTag)(channel: AMQPChannel): F[Unit]
def bindExchange(destination: ExchangeName, source: ExchangeName, routingKey: RoutingKey, args: ExchangeBindingArgs)(channel: AMQPChannel): F[Unit]
def bindExchange(destination: ExchangeName, source: ExchangeName, routingKey: RoutingKey)(channel: AMQPChannel): F[Unit]
def bindExchangeNoWait(destination: ExchangeName, source: ExchangeName, routingKey: RoutingKey, args: ExchangeBindingArgs)(channel: AMQPChannel): F[Unit]
def bindQueue(queueName: QueueName, exchangeName: ExchangeName, routingKey: RoutingKey)(channel: AMQPChannel): F[Unit]
def bindQueue(queueName: QueueName, exchangeName: ExchangeName, routingKey: RoutingKey, args: QueueBindingArgs)(channel: AMQPChannel): F[Unit]
def bindQueueNoWait(queueName: QueueName, exchangeName: ExchangeName, routingKey: RoutingKey, args: QueueBindingArgs)(channel: AMQPChannel): F[Unit]
def clearPublishingListeners(channel: AMQPChannel): F[Unit]
def createAckerConsumer[A](queueName: QueueName, basicQos: BasicQos, consumerArgs: Option[ConsumerArgs], ackMultiple: AckMultiple)(channel: AMQPChannel, decoder: EnvelopeDecoder[F, A]): F[(AckResult => F[Unit], Stream[F, AmqpEnvelope[A]])]
Value Params
ackMultiple

configures the behaviour of the returned acking function. If true (n)acks all messages up to and including the supplied delivery tag, if false (n)acks just the supplied delivery tag.

def createAckerConsumerWithMultipleFlag[A](queueName: QueueName, basicQos: BasicQos, consumerArgs: Option[ConsumerArgs])(channel: AMQPChannel, decoder: EnvelopeDecoder[F, A]): F[((AckResult, AckMultiple) => F[Unit], Stream[F, AmqpEnvelope[A]])]

Returns an acking function and a stream of messages. The acking function takes two arguments - the first is the [[AckResult]] that wraps a delivery tag, the second is a [[AckMultiple]] flag that if true (n)acks all messages up to and including the supplied delivery tag, if false (n)acks just the supplied delivery tag.

Returns an acking function and a stream of messages. The acking function takes two arguments - the first is the [[AckResult]] that wraps a delivery tag, the second is a [[AckMultiple]] flag that if true (n)acks all messages up to and including the supplied delivery tag, if false (n)acks just the supplied delivery tag.

def createAutoAckConsumer[A](queueName: QueueName, basicQos: BasicQos, consumerArgs: Option[ConsumerArgs])(channel: AMQPChannel, decoder: EnvelopeDecoder[F, A]): F[Stream[F, AmqpEnvelope[A]]]
def createBasicPublisher[A](channel: AMQPChannel, encoder: MessageEncoder[F, A]): F[(ExchangeName, RoutingKey, A) => F[Unit]]
def createBasicPublisherWithListener[A](flag: PublishingFlag, listener: PublishReturn => F[Unit])(channel: AMQPChannel, encoder: MessageEncoder[F, A]): F[(ExchangeName, RoutingKey, A) => F[Unit]]
def createChannel(conn: AMQPConnection): Resource[F, AMQPChannel]
def createConnection: Resource[F, AMQPConnection]
def createPublisher[A](exchangeName: ExchangeName, routingKey: RoutingKey)(channel: AMQPChannel, encoder: MessageEncoder[F, A]): F[A => F[Unit]]
def createPublisherWithListener[A](exchangeName: ExchangeName, routingKey: RoutingKey, flags: PublishingFlag, listener: PublishReturn => F[Unit])(channel: AMQPChannel, encoder: MessageEncoder[F, A]): F[A => F[Unit]]
def createRoutingPublisher[A](exchangeName: ExchangeName)(channel: AMQPChannel, encoder: MessageEncoder[F, A]): F[RoutingKey => A => F[Unit]]
def createRoutingPublisherWithListener[A](exchangeName: ExchangeName, flags: PublishingFlag, listener: PublishReturn => F[Unit])(channel: AMQPChannel, encoder: MessageEncoder[F, A]): F[RoutingKey => A => F[Unit]]
def declareExchange(exchangeName: ExchangeName, exchangeType: ExchangeType)(channel: AMQPChannel): F[Unit]
def declareExchange(exchangeConfig: DeclarationExchangeConfig)(channel: AMQPChannel): F[Unit]
def declareExchangeNoWait(exchangeConfig: DeclarationExchangeConfig)(channel: AMQPChannel): F[Unit]
def declareExchangePassive(exchangeName: ExchangeName)(channel: AMQPChannel): F[Unit]
def declareQueue(queueConfig: DeclarationQueueConfig)(channel: AMQPChannel): F[Unit]
def declareQueueNoWait(queueConfig: DeclarationQueueConfig)(channel: AMQPChannel): F[Unit]
def declareQueuePassive(queueName: QueueName)(channel: AMQPChannel): F[Unit]
def deleteExchange(config: DeletionExchangeConfig)(channel: AMQPChannel): F[Unit]
def deleteQueue(config: DeletionQueueConfig)(channel: AMQPChannel): F[Unit]
def deleteQueueNoWait(config: DeletionQueueConfig)(channel: AMQPChannel): F[Unit]
def imapK[G[_]](fk: FunctionK[F, G])(gk: FunctionK[G, F])(F: MonadCancel[F, _], G: MonadCancel[G, _]): RabbitClient[G]
Implicitly added by toRabbitClientOps
def liftAttemptK(F: MonadCancelThrow[F]): RabbitClient[[_] =>> EitherT[F, Throwable, _$3]]
Implicitly added by toRabbitClientOps

Transforms the rabbit client into one where all errors from the effect are caught and lifted into EitherT's error channel

Transforms the rabbit client into one where all errors from the effect are caught and lifted into EitherT's error channel

def unbindExchange(destination: ExchangeName, source: ExchangeName, routingKey: RoutingKey, args: ExchangeUnbindArgs)(channel: AMQPChannel): F[Unit]
def unbindExchange(destination: ExchangeName, source: ExchangeName, routingKey: RoutingKey)(channel: AMQPChannel): F[Unit]
def unbindQueue(queueName: QueueName, exchangeName: ExchangeName, routingKey: RoutingKey)(channel: AMQPChannel): F[Unit]
def unbindQueue(queueName: QueueName, exchangeName: ExchangeName, routingKey: RoutingKey, args: QueueUnbindArgs)(channel: AMQPChannel): F[Unit]