1 #ifndef PROTON_MESSENGER_H
2 #define PROTON_MESSENGER_H 1
482 #define PN_CUMULATIVE (0x1)
591 const char *address);
612 const char *address);
PN_EXTERN int pn_messenger_get_outgoing_window(pn_messenger_t *messenger)
Returns the size of the incoming window that was set with pn_messenger_set_incoming_window.
PN_EXTERN const char * pn_messenger_get_certificate(pn_messenger_t *messenger)
Return the certificate path.
PN_EXTERN const char * pn_messenger_get_private_key(pn_messenger_t *messenger)
Gets the private key file for a Messenger.
Definition: messenger.h:49
Definition: messenger.h:48
Definition: messenger.h:47
int64_t pn_tracker_t
Definition: messenger.h:39
PN_EXTERN int pn_messenger_send(pn_messenger_t *messenger, int n)
If blocking has been set with pn_messenger_set_blocking, this call will block until N messages have b...
PN_EXTERN int pn_messenger_set_private_key(pn_messenger_t *messenger, const char *private_key)
Provides the private key that was used to sign the certificate.
PN_EXTERN pn_error_t * pn_messenger_error(pn_messenger_t *messenger)
Returns a pointer to a pn_error_t.
PN_EXTERN int pn_messenger_interrupt(pn_messenger_t *messenger)
The messenger interface is single-threaded.
PN_EXTERN int pn_messenger_set_blocking(pn_messenger_t *messenger, bool blocking)
Enable or disable blocking behavior during calls to pn_messenger_send and pn_messenger_recv.
PN_EXTERN const char * pn_subscription_address(pn_subscription_t *sub)
PN_EXTERN const char * pn_messenger_get_trusted_certificates(pn_messenger_t *messenger)
Gets the trusted certificates database for a Messenger.
PN_EXTERN void pn_messenger_free(pn_messenger_t *messenger)
Frees a Messenger.
PN_EXTERN int pn_messenger_get_timeout(pn_messenger_t *messenger)
Retrieves the timeout for a Messenger.
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 int pn_messenger_receiving(pn_messenger_t *messenger)
Returns the capacity of the incoming message queue of messenger.
PN_EXTERN int pn_messenger_stop(pn_messenger_t *messenger)
Stops a messenger.
pn_status_t
Definition: messenger.h:41
PN_EXTERN int pn_messenger_set_password(pn_messenger_t *messenger, const char *password)
Sets the private key password for a Messenger.
Definition: messenger.h:44
struct pn_messenger_t pn_messenger_t
Messenger.
Definition: messenger.h:37
PN_EXTERN int pn_messenger_set_timeout(pn_messenger_t *messenger, int timeout)
Any messenger call that blocks during execution will stop blocking and return control when this timeo...
Definition: messenger.h:46
Definition: messenger.h:43
PN_EXTERN void * pn_subscription_get_context(pn_subscription_t *sub)
PN_EXTERN int pn_messenger_put(pn_messenger_t *messenger, pn_message_t *msg)
Puts the message onto the messenger's outgoing queue.
PN_EXTERN bool pn_messenger_buffered(pn_messenger_t *messenger, pn_tracker_t tracker)
Checks if the delivery associated with the given tracker is still waiting to be sent.
PN_EXTERN pn_tracker_t pn_messenger_incoming_tracker(pn_messenger_t *messenger)
Returns a tracker for the message most recently fetched by pn_messenger_get.
struct pn_error_t pn_error_t
Definition: error.h:32
PN_EXTERN bool pn_messenger_is_blocking(pn_messenger_t *messenger)
Accessor for messenger blocking mode.
PN_EXTERN int pn_messenger_accept(pn_messenger_t *messenger, pn_tracker_t tracker, int flags)
Signal the sender that you have acted on the message pointed to by the tracker.
PN_EXTERN int pn_messenger_incoming(pn_messenger_t *messenger)
Returns the number of messages in the incoming message queue of a messenger.
Definition: messenger.h:42
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 pn_messenger_t * pn_messenger(const char *name)
Construct a new Messenger with the given name.
PN_EXTERN void pn_subscription_set_context(pn_subscription_t *sub, void *context)
Definition: messenger.h:45
PN_EXTERN int pn_messenger_get_incoming_window(pn_messenger_t *messenger)
Returns the size of the incoming window that was set with pn_messenger_set_incoming_window.
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 bool pn_messenger_stopped(pn_messenger_t *messenger)
Returns true if a messenger is in the stopped state.
PN_EXTERN int pn_messenger_outgoing(pn_messenger_t *messenger)
Returns the number of messages in the outgoing message queue of a messenger.
struct pn_message_t pn_message_t
Definition: message.h:38
PN_EXTERN pn_subscription_t * pn_messenger_incoming_subscription(pn_messenger_t *messenger)
Returns a pointer to the subscription of the message returned by the most recent call to pn_messenger...
PN_EXTERN int pn_messenger_recv(pn_messenger_t *messenger, int limit)
Instructs the messenger to receives up to limit messages into the incoming message queue of a messeng...
PN_EXTERN int pn_messenger_start(pn_messenger_t *messenger)
Currently a no-op placeholder.
PN_EXTERN int pn_messenger_set_outgoing_window(pn_messenger_t *messenger, int window)
The size of the outgoing window limits the number of messages whose status you can check with a track...
PN_EXTERN const char * pn_messenger_get_password(pn_messenger_t *messenger)
Gets the private key file password for a Messenger.
PN_EXTERN pn_status_t pn_messenger_status(pn_messenger_t *messenger, pn_tracker_t tracker)
Find the current delivery status of the outgoing message associated with this tracker, as long as the message is still within your outgoing window.within your outgoing window.
PN_EXTERN int pn_messenger_reject(pn_messenger_t *messenger, pn_tracker_t tracker, int flags)
Rejects the message indicated by the tracker.
#define PN_EXTERN
Definition: import_export.h:53
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_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_get(pn_messenger_t *messenger, pn_message_t *msg)
Pop the oldest message off your incoming message queue, and copy it into the given message structure...
PN_EXTERN int pn_messenger_errno(pn_messenger_t *messenger)
Return the code for the most recent error, initialized to zero at messenger creation.
PN_EXTERN int pn_messenger_set_incoming_window(pn_messenger_t *messenger, int window)
The size of your incoming window limits the number of messages that can be accepted or rejected using...
PN_EXTERN const char * pn_messenger_name(pn_messenger_t *messenger)
Retrieves the name of a Messenger.
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.
PN_EXTERN pn_tracker_t pn_messenger_outgoing_tracker(pn_messenger_t *messenger)
Returns a tracker for the outgoing message most recently given to pn_messenger_put.
PN_EXTERN int pn_messenger_rewrite(pn_messenger_t *messenger, const char *pattern, const char *address)
Similar to pn_messenger_route, except that the destination of the message is determined before the me...
struct pn_subscription_t pn_subscription_t
Subscription.
Definition: messenger.h:38