glats
This module provides the most basic NATS client.
Types
pub type Connection =
Subject(ConnectionMessage)
Message sent to a NATS connection process.
pub opaque type ConnectionMessage
Errors that can be returned by the server.
pub type ServerError {
Timeout
NoResponders
Unknown
}
Constructors
-
Timeout
-
NoResponders
-
Unknown
Functions
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(
Message,
), 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) -> Result(
Message,
ServerError,
)
Sends a request and listens for a response synchronously.
pub fn subscribe(conn: Subject(ConnectionMessage), subscriber: Subject(
Message,
), 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.