Show / Hide Table of Contents

    Class AmqpRpcFlow

    Inheritance
    Object
    AmqpRpcFlow
    Inherited Members
    Object.Equals(Object)
    Object.Equals(Object, Object)
    Object.GetHashCode()
    Object.GetType()
    Object.MemberwiseClone()
    Object.ReferenceEquals(Object, Object)
    Object.ToString()
    Namespace: Akka.Streams.Amqp.RabbitMq.Dsl
    Assembly: Akka.Streams.Amqp.RabbitMq.dll
    Syntax
    public static class AmqpRpcFlow

    Methods

    | Improve this Doc View Source

    AtMostOnceFlow(AmqpSinkSettings, Int32, Int32)

    Convenience for "at-most once delivery" semantics. Each message is acked to RabbitMQ before it is emitted downstream.

    Declaration
    public static Flow<OutgoingMessage, IncomingMessage, Task<string>> AtMostOnceFlow(AmqpSinkSettings settings, int bufferSize, int repliesPerMessage = 1)
    Parameters
    Type Name Description
    AmqpSinkSettings settings
    Int32 bufferSize
    Int32 repliesPerMessage

    The number of responses that should be expected for each message placed on the queue. This can be overridden per message by including

    expectedReplies
    in the the header of the OutgoingMessage

    Returns
    Type Description
    Akka.Streams.Dsl.Flow<OutgoingMessage, IncomingMessage, Task<String>>

    TBD

    | Improve this Doc View Source

    CommittableFlow(AmqpSinkSettings, Int32, Int32)

    The committableFlow makes it possible to commit (ack/nack) messages to RabbitMQ. This is useful when "at-least once delivery" is desired, as each message will likely be delivered one time but in failure cases could be duplicated. If you commit the offset before processing the message you get "at-most once delivery" semantics, and for that there is a AtMostOnceFlow(AmqpSinkSettings, Int32, Int32). Compared to auto-commit, this gives exact control over when a message is considered consumed.

    Declaration
    public static Flow<OutgoingMessage, CommittableIncomingMessage, Task<string>> CommittableFlow(AmqpSinkSettings settings, int bufferSize, int repliesPerMessage = 1)
    Parameters
    Type Name Description
    AmqpSinkSettings settings
    Int32 bufferSize
    Int32 repliesPerMessage

    The number of responses that should be expected for each message placed on the queue. This can be overridden per message by including

    expectedReplies
    in the the header of the OutgoingMessage

    Returns
    Type Description
    Akka.Streams.Dsl.Flow<OutgoingMessage, CommittableIncomingMessage, Task<String>>

    TBD

    | Improve this Doc View Source

    CreateSimple(AmqpSinkSettings, Int32)

    Create an [[https://www.rabbitmq.com/tutorials/tutorial-six-java.html RPC style flow]] for processing and communicating over a rabbitmq message bus. This will create a private queue, and add the reply-to header to messages sent out.

    This stage materializes to a Task<TResult>, which is the name of the private exclusive queue used for RPC communication.

    Declaration
    public static Flow<ByteString, ByteString, Task<string>> CreateSimple(AmqpSinkSettings settings, int repliesPerMessage = 1)
    Parameters
    Type Name Description
    AmqpSinkSettings settings
    Int32 repliesPerMessage

    The number of responses that should be expected for each message placed on the queue. This can be overridden per message by including

    expectedReplies
    in the the header of the OutgoingMessage

    Returns
    Type Description
    Akka.Streams.Dsl.Flow<Akka.IO.ByteString, Akka.IO.ByteString, Task<String>>

    TBD

    • Improve this Doc
    • View Source
    Back to top Copyright © 2013-2020 Akka.NET project
    Generated by DocFX