# Functions
NewController creates a new conversation controller.
NewConversation creates a new conversation that starts with a specified message.
WithAcknowledgeFilter returns an Option that specifies the filter function that is used to detect an intermediate response message in the conversation.
WithCancelMessage returns an Option that specifies the message and filter functions that are used to cancel the conversation which has been already sent.
WithConflictKey returns an Option that specifies the key that is used to find out messages that cannot be delivered to the server until the server acknowledged the request.
WithIdempotence returns an Option that enabled retries for this conversation when the underlying gRPC stream reconnects.
WithResponseFilter returns an Option that specifies the filter function that is used to detect the last response message in the conversation.
# Structs
Controller provides a simple mechanism to work with a session protocol using a gRPC bidirectional stream.
Conversation is a core concept of the conversation package.
# Type aliases
Option configures how we create a new conversation.
ResponseFilter defines the filter function called by the controller to know if a received message relates to the conversation.