glats
Types
pub type Connection =
Subject(ConnectionMessage)
Errors that can be returned by the server.
pub type ConnectionError {
Timeout
NoResponders
Unexpected
}
Constructors
-
Timeout
-
NoResponders
-
Unexpected
Message sent to a NATS connection process.
pub opaque type ConnectionMessage
Message received by a subscribing subject.
pub type SubscriptionMessage {
ReceivedMessage(conn: Connection, sid: Int, message: Message)
}
Constructors
-
ReceivedMessage(conn: Connection, sid: Int, message: Message)
Functions
pub fn active_subscriptions(conn: Subject(ConnectionMessage)) -> Result(
Int,
ConnectionError,
)
Returns the number of active subscriptions for the connection.
pub fn connect(settings: Settings) -> Result(
Subject(ConnectionMessage),
StartError,
)
Starts an actor that handles a connection to NATS using the provided settings.
pub fn publish(conn: Subject(ConnectionMessage), subject: String, message: String) -> Result(
Nil,
String,
)
Publishes a single message to NATS on a provided subject.
pub fn publish_message(conn: Subject(ConnectionMessage), message: Message) -> Result(
Nil,
String,
)
Publishes a single message to NATS using the data from a provided Message
record.
pub fn queue_subscribe(conn: Subject(ConnectionMessage), subscriber: Subject(
SubscriptionMessage,
), subject: String, group: String) -> Result(Int, String)
Subscribes to a NATS subject as part of a queue group. Messages can be received on the provided OTP subject.
pub fn request(conn: Subject(ConnectionMessage), subject: String, message: String, timeout: Int) -> Result(
Message,
ConnectionError,
)
Sends a request and listens for a response synchronously.
pub fn server_info(conn: Subject(ConnectionMessage)) -> Result(
ServerInfo,
ConnectionError,
)
Returns server info provided by the connected NATS server.
pub fn subscribe(conn: Subject(ConnectionMessage), subscriber: Subject(
SubscriptionMessage,
), subject: String) -> Result(Int, String)
Subscribes to a NATS subject that can be received on the provided OTP subject.
pub fn unsubscribe(conn: Subject(ConnectionMessage), sid: Int) -> Result(
Nil,
String,
)
Unsubscribe from a subscription by providing the subscription ID.