1 #ifndef PROTON_MESSENGER_H
2 #define PROTON_MESSENGER_H 1
706 #define PN_CUMULATIVE (0x1)
834 const char *address);
859 const char *address);
PN_EXTERN pn_tracker_t pn_messenger_incoming_tracker(pn_messenger_t *messenger)
Get a tracker for the message most recently retrieved by pn_messenger_get().
The message was accepted.
Definition: messenger.h:157
PN_EXTERN int pn_messenger_recv(pn_messenger_t *messenger, int limit)
Retrieve messages into a messenger's incoming queue.
PN_EXTERN int pn_messenger_send(pn_messenger_t *messenger, int n)
Send messages from a messenger's outgoing queue.
PN_EXTERN const char * pn_messenger_name(pn_messenger_t *messenger)
Get the name of a messenger.
The message was rejected.
Definition: messenger.h:158
PN_EXTERN int pn_messenger_reject(pn_messenger_t *messenger, pn_tracker_t tracker, int flags)
Signal unsuccessful processing of message(s).
PN_EXTERN int pn_messenger_set_trusted_certificates(pn_messenger_t *messenger, const char *cert_db)
Sets the trusted certificates database for a messenger.
PN_EXTERN pn_tracker_t pn_messenger_outgoing_tracker(pn_messenger_t *messenger)
Get a tracker for the outgoing message most recently given to pn_messenger_put.
PN_EXTERN int pn_messenger_incoming(pn_messenger_t *messenger)
Get the number of messages in the incoming message queue of a messenger.
PN_EXTERN int pn_messenger_put(pn_messenger_t *messenger, pn_message_t *msg)
Puts a message onto the messenger's outgoing queue.
PN_EXTERN const char * pn_messenger_get_certificate(pn_messenger_t *messenger)
Get the certificate path.
PN_EXTERN pn_status_t pn_messenger_status(pn_messenger_t *messenger, pn_tracker_t tracker)
Track the status of a delivery.
PN_EXTERN int pn_messenger_get_outgoing_window(pn_messenger_t *messenger)
Get the size of a messenger's outgoing window.
PN_EXTERN void pn_messenger_free(pn_messenger_t *messenger)
Frees a Messenger.
PN_EXTERN int pn_messenger_outgoing(pn_messenger_t *messenger)
Get the number of messages in the outgoing message queue of a messenger.
The message was released.
Definition: messenger.h:159
PN_EXTERN int pn_messenger_set_timeout(pn_messenger_t *messenger, int timeout)
Set the default timeout for a messenger.
PN_EXTERN int pn_messenger_set_passive(pn_messenger_t *messenger, bool passive)
Set the passive mode for a messenger.
struct pn_selectable_t pn_selectable_t
A selectable object provides an interface that can be used to incorporate proton's I/O into third par...
Definition: selectable.h:69
PN_EXTERN bool pn_messenger_is_passive(pn_messenger_t *messenger)
Check if a messenger is in passive mode.
PN_EXTERN int pn_messenger_get(pn_messenger_t *messenger, pn_message_t *message)
Get the next message from the head of a messenger's incoming queue.
PN_EXTERN int pn_messenger_get_incoming_window(pn_messenger_t *messenger)
Get the size of a messenger's incoming window.
PN_EXTERN int pn_messenger_set_password(pn_messenger_t *messenger, const char *password)
Sets the private key password for a messenger.
PN_EXTERN int pn_messenger_set_private_key(pn_messenger_t *messenger, const char *private_key)
Set path to the private key that was used to sign the certificate.
PN_EXTERN int pn_messenger_errno(pn_messenger_t *messenger)
Get the code for a messenger's most recent error.
PN_EXTERN pn_subscription_t * pn_messenger_subscribe(pn_messenger_t *messenger, const char *source)
Subscribes a messenger to messages from the specified source.
PN_EXTERN int pn_messenger_settle(pn_messenger_t *messenger, pn_tracker_t tracker, int flags)
Frees a Messenger from tracking the status associated with a given tracker.
PN_EXTERN int pn_messenger_stop(pn_messenger_t *messenger)
Stops a messenger.
PN_EXTERN int pn_messenger_accept(pn_messenger_t *messenger, pn_tracker_t tracker, int flags)
Signal successful processing of message(s).
PN_EXTERN int pn_messenger_receiving(pn_messenger_t *messenger)
Get the capacity of the incoming message queue of a messenger.
pn_status_t
Describes all the possible states for a message associated with a given tracker.
Definition: messenger.h:152
PN_EXTERN bool pn_messenger_stopped(pn_messenger_t *messenger)
Returns true if a messenger is in the stopped state.
PN_EXTERN pn_subscription_t * pn_messenger_incoming_subscription(pn_messenger_t *messenger)
Get the subscription of the message most recently retrieved by pn_messenger_get().
PN_EXTERN const char * pn_messenger_get_private_key(pn_messenger_t *messenger)
Gets the private key file for a messenger.
Message API for encoding/decoding AMQP Messages.
PN_EXTERN int pn_messenger_set_outgoing_window(pn_messenger_t *messenger, int window)
Set the size of a messenger's outgoing window.
PN_EXTERN const char * pn_subscription_address(pn_subscription_t *sub)
Get the source address of a subscription.
PN_EXTERN int pn_messenger_set_certificate(pn_messenger_t *messenger, const char *certificate)
Sets the path that will be used to get the certificate that will be used to identify this messenger t...
PN_EXTERN int pn_messenger_set_blocking(pn_messenger_t *messenger, bool blocking)
Enable or disable blocking behavior for a messenger during calls to pn_messenger_send and pn_messenge...
int64_t pn_tracker_t
Trackers provide a lightweight handle used to track the status of incoming and outgoing deliveries...
Definition: messenger.h:146
The message was aborted.
Definition: messenger.h:161
PN_EXTERN int pn_messenger_get_timeout(pn_messenger_t *messenger)
Gets the timeout for a messenger object.
PN_EXTERN void * pn_subscription_get_context(pn_subscription_t *sub)
Get a subscription's application context.
PN_EXTERN int pn_messenger_route(pn_messenger_t *messenger, const char *pattern, const char *address)
Adds a routing rule to a Messenger's internal routing table.
The selectable API provides an interface for integration with third party event loops.
PN_EXTERN int pn_messenger_start(pn_messenger_t *messenger)
Currently a no-op placeholder.
PN_EXTERN bool pn_messenger_buffered(pn_messenger_t *messenger, pn_tracker_t tracker)
Check if the delivery associated with a given tracker is still waiting to be sent.
#define PN_EXTERN
Definition: import_export.h:53
PN_EXTERN pn_timestamp_t pn_messenger_deadline(pn_messenger_t *messenger)
Get the nearest deadline for selectables associated with a messenger.
PN_EXTERN pn_error_t * pn_messenger_error(pn_messenger_t *messenger)
Get a messenger's error object.
PN_EXTERN bool pn_messenger_is_blocking(pn_messenger_t *messenger)
Check if a messenger is in blocking mode.
The remote party has settled the message.
Definition: messenger.h:162
PN_EXTERN const char * pn_messenger_get_trusted_certificates(pn_messenger_t *messenger)
Gets the trusted certificates database for a messenger.
PN_EXTERN int pn_messenger_rewrite(pn_messenger_t *messenger, const char *pattern, const char *address)
Rewrite message addresses prior to transmission.
struct pn_subscription_t pn_subscription_t
A subscription is a request for incoming messages.
Definition: messenger.h:140
struct pn_message_t pn_message_t
An AMQP Message object.
Definition: message.h:50
PN_EXTERN const char * pn_messenger_get_password(pn_messenger_t *messenger)
Gets the private key file password for a messenger.
PN_EXTERN int pn_messenger_work(pn_messenger_t *messenger, int timeout)
Sends or receives any outstanding messages queued for a messenger.
PN_EXTERN int pn_messenger_set_incoming_window(pn_messenger_t *messenger, int window)
Set the size of a messenger's incoming window.
int64_t pn_timestamp_t
Definition: types.h:48
struct pn_error_t pn_error_t
Definition: error.h:32
The message is in flight.
Definition: messenger.h:154
PN_EXTERN pn_messenger_t * pn_messenger(const char *name)
Construct a new pn_messenger_t with the given name.
The tracker is unknown.
Definition: messenger.h:153
struct pn_messenger_t pn_messenger_t
A pn_messenger_t provides a high level interface for sending and receiving messages (See pn_message_t...
Definition: messenger.h:131
PN_EXTERN void pn_subscription_set_context(pn_subscription_t *sub, void *context)
Set an application context for a subscription.
The message was modified.
Definition: messenger.h:160
PN_EXTERN pn_selectable_t * pn_messenger_selectable(pn_messenger_t *messenger)
Extract selectables from a passive messenger.
PN_EXTERN int pn_messenger_interrupt(pn_messenger_t *messenger)
Interrupt a messenger object that may be blocking in another thread.