proton
0
|
Link API for the proton Engine. More...
#include <proton/import_export.h>
#include <proton/type_compat.h>
#include <stddef.h>
#include <sys/types.h>
Go to the source code of this file.
Enumerations | |
enum | pn_snd_settle_mode_t { PN_SND_UNSETTLED = 0, PN_SND_SETTLED = 1, PN_SND_MIXED = 2 } |
Describes the permitted/expected settlement behaviours of a sending link. More... | |
enum | pn_rcv_settle_mode_t { PN_RCV_FIRST = 0, PN_RCV_SECOND = 1 } |
Describes the permitted/expected settlement behaviours of a receiving link. More... | |
Functions | |
PN_EXTERN pn_link_t * | pn_sender (pn_session_t *session, const char *name) |
Construct a new sender on a session. More... | |
PN_EXTERN pn_link_t * | pn_receiver (pn_session_t *session, const char *name) |
Construct a new receiver on a session. More... | |
PN_EXTERN void | pn_link_free (pn_link_t *link) |
Free a link object. More... | |
PN_EXTERN void * | pn_link_get_context (pn_link_t *link) |
Get the application context that is associated with a link object. More... | |
PN_EXTERN void | pn_link_set_context (pn_link_t *link, void *context) |
Set a new application context for a link object. More... | |
PN_EXTERN const char * | pn_link_name (pn_link_t *link) |
Get the name of a link. More... | |
PN_EXTERN bool | pn_link_is_sender (pn_link_t *link) |
Test if a link is a sender. More... | |
PN_EXTERN bool | pn_link_is_receiver (pn_link_t *link) |
Test if a link is a receiver. More... | |
PN_EXTERN pn_state_t | pn_link_state (pn_link_t *link) |
Get the endpoint state flags for a link. More... | |
PN_EXTERN pn_error_t * | pn_link_error (pn_link_t *link) |
Get additional error information associated with the link. More... | |
PN_EXTERN pn_condition_t * | pn_link_condition (pn_link_t *link) |
Get the local condition associated with a link endpoint. More... | |
PN_EXTERN pn_condition_t * | pn_link_remote_condition (pn_link_t *link) |
Get the remote condition associated with a link endpoint. More... | |
PN_EXTERN pn_session_t * | pn_link_session (pn_link_t *link) |
Get the parent session for a link object. More... | |
PN_EXTERN pn_link_t * | pn_link_head (pn_connection_t *connection, pn_state_t state) |
Retrieve the first link that matches the given state mask. More... | |
PN_EXTERN pn_link_t * | pn_link_next (pn_link_t *link, pn_state_t state) |
Retrieve the next link that matches the given state mask. More... | |
PN_EXTERN void | pn_link_open (pn_link_t *link) |
Open a link. More... | |
PN_EXTERN void | pn_link_close (pn_link_t *link) |
Close a link. More... | |
PN_EXTERN pn_terminus_t * | pn_link_source (pn_link_t *link) |
Access the locally defined source definition for a link. More... | |
PN_EXTERN pn_terminus_t * | pn_link_target (pn_link_t *link) |
Access the locally defined target definition for a link. More... | |
PN_EXTERN pn_terminus_t * | pn_link_remote_source (pn_link_t *link) |
Access the remotely defined source definition for a link. More... | |
PN_EXTERN pn_terminus_t * | pn_link_remote_target (pn_link_t *link) |
Access the remotely defined target definition for a link. More... | |
PN_EXTERN pn_delivery_t * | pn_link_current (pn_link_t *link) |
Get the current delivery for a link. More... | |
PN_EXTERN bool | pn_link_advance (pn_link_t *link) |
Advance the current delivery of a link to the next delivery on the link. More... | |
PN_EXTERN int | pn_link_credit (pn_link_t *link) |
Get the credit balance for a link. More... | |
PN_EXTERN int | pn_link_queued (pn_link_t *link) |
Get the number of queued deliveries for a link. More... | |
PN_EXTERN int | pn_link_remote_credit (pn_link_t *link) |
Get the remote view of the credit for a link. More... | |
PN_EXTERN bool | pn_link_get_drain (pn_link_t *link) |
Get the drain flag for a link. More... | |
PN_EXTERN int | pn_link_drained (pn_link_t *link) |
Drain excess credit for a link. More... | |
PN_EXTERN int | pn_link_available (pn_link_t *link) |
Get the available deliveries hint for a link. More... | |
PN_EXTERN pn_snd_settle_mode_t | pn_link_snd_settle_mode (pn_link_t *link) |
Get the local sender settle mode for a link. More... | |
PN_EXTERN pn_rcv_settle_mode_t | pn_link_rcv_settle_mode (pn_link_t *link) |
Get the local receiver settle mode for a link. More... | |
PN_EXTERN void | pn_link_set_snd_settle_mode (pn_link_t *link, pn_snd_settle_mode_t mode) |
Set the local sender settle mode for a link. More... | |
PN_EXTERN void | pn_link_set_rcv_settle_mode (pn_link_t *link, pn_rcv_settle_mode_t mode) |
Set the local receiver settle mode for a link. More... | |
PN_EXTERN pn_snd_settle_mode_t | pn_link_remote_snd_settle_mode (pn_link_t *link) |
Get the remote sender settle mode for a link. More... | |
PN_EXTERN pn_rcv_settle_mode_t | pn_link_remote_rcv_settle_mode (pn_link_t *link) |
Get the remote receiver settle mode for a link. More... | |
PN_EXTERN int | pn_link_unsettled (pn_link_t *link) |
Get the number of unsettled deliveries for a link. More... | |
PN_EXTERN pn_delivery_t * | pn_unsettled_head (pn_link_t *link) |
Get the first unsettled delivery for a link. More... | |
PN_EXTERN pn_delivery_t * | pn_unsettled_next (pn_delivery_t *delivery) |
Get the next unsettled delivery on a link. More... | |
PN_EXTERN void | pn_link_offered (pn_link_t *sender, int credit) |
Signal the availability of deliveries for a link. More... | |
PN_EXTERN ssize_t | pn_link_send (pn_link_t *sender, const char *bytes, size_t n) |
Send message data for the current delivery on a link. More... | |
PN_EXTERN void | pn_link_flow (pn_link_t *receiver, int credit) |
Grant credit for incoming deliveries on a receiver. More... | |
PN_EXTERN void | pn_link_drain (pn_link_t *receiver, int credit) |
Grant credit for incoming deliveries on a receiver, and set drain mode to true. More... | |
PN_EXTERN void | pn_link_set_drain (pn_link_t *receiver, bool drain) |
Set the drain mode on a link. More... | |
PN_EXTERN ssize_t | pn_link_recv (pn_link_t *receiver, char *bytes, size_t n) |
Receive message data for the current delivery on a link. More... | |
PN_EXTERN bool | pn_link_draining (pn_link_t *receiver) |
Check if a link is currently draining. More... | |
Link API for the proton Engine.