proton
0
|
Transport 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.
Macros | |
#define | PN_TRACE_OFF (0) |
Turn logging off entirely. More... | |
#define | PN_TRACE_RAW (1) |
Log raw binary data into/out of the transport. More... | |
#define | PN_TRACE_FRM (2) |
Log frames into/out of the transport. More... | |
#define | PN_TRACE_DRV (4) |
Log driver related events, e.g. More... | |
Typedefs | |
typedef int | pn_trace_t |
Holds the trace flags for an AMQP transport. More... | |
typedef void(* | pn_tracer_t )(pn_transport_t *transport, const char *message) |
Callback for customizing logging behaviour. More... | |
Functions | |
PN_EXTERN pn_transport_t * | pn_transport (void) |
Factory for creating a transport. More... | |
PN_EXTERN void | pn_transport_free (pn_transport_t *transport) |
Free a transport object. More... | |
PN_EXTERN pn_error_t * | pn_transport_error (pn_transport_t *transport) |
Get additional error information associated with the transport. More... | |
PN_EXTERN int | pn_transport_bind (pn_transport_t *transport, pn_connection_t *connection) |
Binds the transport to an AMQP connection. More... | |
PN_EXTERN int | pn_transport_unbind (pn_transport_t *transport) |
Unbinds a transport from its AMQP connection. More... | |
PN_EXTERN void | pn_transport_trace (pn_transport_t *transport, pn_trace_t trace) |
Update a transports trace flags. More... | |
PN_EXTERN void | pn_transport_set_tracer (pn_transport_t *transport, pn_tracer_t tracer) |
Set the tracing function used by a transport. More... | |
PN_EXTERN pn_tracer_t | pn_transport_get_tracer (pn_transport_t *transport) |
Get the tracning function used by a transport. More... | |
PN_EXTERN void * | pn_transport_get_context (pn_transport_t *transport) |
Get the application context that is associated with a transport object. More... | |
PN_EXTERN void | pn_transport_set_context (pn_transport_t *transport, void *context) |
Set a new application context for a transport object. More... | |
PN_EXTERN void | pn_transport_log (pn_transport_t *transport, const char *message) |
Log a message using a transport's logging mechanism. More... | |
PN_EXTERN void | pn_transport_logf (pn_transport_t *transport, const char *fmt,...) |
Log a printf formatted message using a transport's logging mechanism. More... | |
PN_EXTERN uint16_t | pn_transport_get_channel_max (pn_transport_t *transport) |
Get the maximum allowed channel for a transport. More... | |
PN_EXTERN void | pn_transport_set_channel_max (pn_transport_t *transport, uint16_t channel_max) |
Set the maximum allowed channel for a transport. More... | |
PN_EXTERN uint16_t | pn_transport_remote_channel_max (pn_transport_t *transport) |
Get the maximum allowed channel of a transport's remote peer. More... | |
PN_EXTERN uint32_t | pn_transport_get_max_frame (pn_transport_t *transport) |
Get the maximum frame size of a transport. More... | |
PN_EXTERN void | pn_transport_set_max_frame (pn_transport_t *transport, uint32_t size) |
Set the maximum frame size of a transport. More... | |
PN_EXTERN uint32_t | pn_transport_get_remote_max_frame (pn_transport_t *transport) |
Get the maximum frame size of a transport's remote peer. More... | |
PN_EXTERN pn_millis_t | pn_transport_get_idle_timeout (pn_transport_t *transport) |
Get the idle timeout for a transport. More... | |
PN_EXTERN void | pn_transport_set_idle_timeout (pn_transport_t *transport, pn_millis_t timeout) |
Set the idle timeout for a transport. More... | |
PN_EXTERN pn_millis_t | pn_transport_get_remote_idle_timeout (pn_transport_t *transport) |
Get the idle timeout for a transport's remote peer. More... | |
PN_EXTERN ssize_t | pn_transport_input (pn_transport_t *transport, const char *bytes, size_t available) |
PN_EXTERN ssize_t | pn_transport_output (pn_transport_t *transport, char *bytes, size_t size) |
PN_EXTERN ssize_t | pn_transport_capacity (pn_transport_t *transport) |
Get the amount of free space for input following the transport's tail pointer. More... | |
PN_EXTERN char * | pn_transport_tail (pn_transport_t *transport) |
Get the transport's tail pointer. More... | |
PN_EXTERN int | pn_transport_push (pn_transport_t *transport, const char *src, size_t size) |
Pushes the supplied bytes into the tail of the transport. More... | |
PN_EXTERN int | pn_transport_process (pn_transport_t *transport, size_t size) |
Process input data following the tail pointer. More... | |
PN_EXTERN int | pn_transport_close_tail (pn_transport_t *transport) |
Indicate that the input has reached End Of Stream (EOS). More... | |
PN_EXTERN ssize_t | pn_transport_pending (pn_transport_t *transport) |
Get the number of pending output bytes following the transport's head pointer. More... | |
PN_EXTERN const char * | pn_transport_head (pn_transport_t *transport) |
Get the transport's head pointer. More... | |
PN_EXTERN int | pn_transport_peek (pn_transport_t *transport, char *dst, size_t size) |
Copies size bytes from the head of the transport to the dst pointer. More... | |
PN_EXTERN void | pn_transport_pop (pn_transport_t *transport, size_t size) |
Removes size bytes of output from the pending output queue following the transport's head pointer. More... | |
PN_EXTERN int | pn_transport_close_head (pn_transport_t *transport) |
Indicate that the output has closed. More... | |
PN_EXTERN bool | pn_transport_quiesced (pn_transport_t *transport) |
Check if a transport has buffered data. More... | |
PN_EXTERN bool | pn_transport_closed (pn_transport_t *transport) |
Check if a transport is closed. More... | |
PN_EXTERN pn_timestamp_t | pn_transport_tick (pn_transport_t *transport, pn_timestamp_t now) |
Process any pending transport timer events. More... | |
PN_EXTERN uint64_t | pn_transport_get_frames_output (const pn_transport_t *transport) |
Get the number of frames output by a transport. More... | |
PN_EXTERN uint64_t | pn_transport_get_frames_input (const pn_transport_t *transport) |
Get the number of frames input by a transport. More... | |
Transport API for the proton Engine.