/builddir/build/BUILD/qpid-proton-0.14.0/proton-c/include/proton/transport.h File Reference

Transport API for the proton Engine. More...

#include <proton/import_export.h>
#include <proton/type_compat.h>
#include <proton/condition.h>
#include <stddef.h>

Go to the source code of this file.

Defines

#define PROTON_TRANSPORT_H   1
#define PN_TRACE_OFF   (0)
 Turn logging off entirely.
#define PN_TRACE_RAW   (1)
 Log raw binary data into/out of the transport.
#define PN_TRACE_FRM   (2)
 Log frames into/out of the transport.
#define PN_TRACE_DRV   (4)
 Log driver related events, e.g.
#define PN_TRACE_EVT   (8)
 Log events.

Typedefs

typedef int pn_trace_t
 Holds the trace flags for an AMQP transport.
typedef void(* pn_tracer_t )(pn_transport_t *transport, const char *message)
 Callback for customizing logging behaviour.

Functions

PN_EXTERN pn_transport_tpn_transport (void)
 Factory for creating a transport.
PN_EXTERN void pn_transport_set_server (pn_transport_t *transport)
 Configure a transport as a server.
PN_EXTERN void pn_transport_free (pn_transport_t *transport)
 Free a transport object.
PN_EXTERN const char * pn_transport_get_user (pn_transport_t *transport)
 Retrieve the authenticated user.
PN_EXTERN void pn_transport_require_auth (pn_transport_t *transport, bool required)
 Set whether a non authenticated transport connection is allowed.
PN_EXTERN bool pn_transport_is_authenticated (pn_transport_t *transport)
 Tell whether the transport connection is authenticated.
PN_EXTERN void pn_transport_require_encryption (pn_transport_t *transport, bool required)
 Set whether a non encrypted transport connection is allowed.
PN_EXTERN bool pn_transport_is_encrypted (pn_transport_t *transport)
 Tell whether the transport connection is encrypted.
PN_EXTERN pn_condition_tpn_transport_condition (pn_transport_t *transport)
 Get additional information about the condition of the transport.
PN_EXTERN pn_error_tpn_transport_error (pn_transport_t *transport)
PN_EXTERN int pn_transport_bind (pn_transport_t *transport, pn_connection_t *connection)
 Binds the transport to an AMQP connection.
PN_EXTERN int pn_transport_unbind (pn_transport_t *transport)
 Unbinds a transport from its AMQP connection.
PN_EXTERN void pn_transport_trace (pn_transport_t *transport, pn_trace_t trace)
 Update a transports trace flags.
PN_EXTERN void pn_transport_set_tracer (pn_transport_t *transport, pn_tracer_t tracer)
 Set the tracing function used by a transport.
PN_EXTERN pn_tracer_t pn_transport_get_tracer (pn_transport_t *transport)
 Get the tracning function used by a transport.
PN_EXTERN void * pn_transport_get_context (pn_transport_t *transport)
 Get the application context that is associated with a transport object.
PN_EXTERN void pn_transport_set_context (pn_transport_t *transport, void *context)
PN_EXTERN pn_record_tpn_transport_attachments (pn_transport_t *transport)
 Get the attachments that are associated with a transport object.
PN_EXTERN void pn_transport_log (pn_transport_t *transport, const char *message)
 Log a message using a transport's logging mechanism.
PN_EXTERN void pn_transport_vlogf (pn_transport_t *transport, const char *fmt, va_list ap)
 Log a printf formatted message using a transport's logging mechanism.
PN_EXTERN void pn_transport_logf (pn_transport_t *transport, const char *fmt,...)
 Log a printf formatted message using a transport's logging mechanism.
PN_EXTERN uint16_t pn_transport_get_channel_max (pn_transport_t *transport)
 Get the maximum allowed channel for a transport.
PN_EXTERN int pn_transport_set_channel_max (pn_transport_t *transport, uint16_t channel_max)
 Set the maximum allowed channel number for a transport.
PN_EXTERN uint16_t pn_transport_remote_channel_max (pn_transport_t *transport)
 Get the maximum allowed channel of a transport's remote peer.
PN_EXTERN uint32_t pn_transport_get_max_frame (pn_transport_t *transport)
 Get the maximum frame size of a transport.
PN_EXTERN void pn_transport_set_max_frame (pn_transport_t *transport, uint32_t size)
 Set the maximum frame size of a transport.
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.
PN_EXTERN pn_millis_t pn_transport_get_idle_timeout (pn_transport_t *transport)
 Get the idle timeout for a transport.
PN_EXTERN void pn_transport_set_idle_timeout (pn_transport_t *transport, pn_millis_t timeout)
 Set the idle timeout for a transport.
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.
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.
PN_EXTERN char * pn_transport_tail (pn_transport_t *transport)
 Get the transport's tail pointer.
PN_EXTERN ssize_t pn_transport_push (pn_transport_t *transport, const char *src, size_t size)
 Pushes the supplied bytes into the tail of the transport.
PN_EXTERN int pn_transport_process (pn_transport_t *transport, size_t size)
 Process input data following the tail pointer.
PN_EXTERN int pn_transport_close_tail (pn_transport_t *transport)
 Indicate that the input has reached End Of Stream (EOS).
PN_EXTERN ssize_t pn_transport_pending (pn_transport_t *transport)
 Get the number of pending output bytes following the transport's head pointer.
PN_EXTERN const char * pn_transport_head (pn_transport_t *transport)
 Get the transport's head pointer.
PN_EXTERN ssize_t 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.
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.
PN_EXTERN int pn_transport_close_head (pn_transport_t *transport)
 Indicate that the output has closed.
PN_EXTERN bool pn_transport_quiesced (pn_transport_t *transport)
 Check if a transport has buffered data.
PN_EXTERN bool pn_transport_closed (pn_transport_t *transport)
 Check if a transport is closed.
PN_EXTERN pn_timestamp_t pn_transport_tick (pn_transport_t *transport, pn_timestamp_t now)
 Process any pending transport timer events.
PN_EXTERN uint64_t pn_transport_get_frames_output (const pn_transport_t *transport)
 Get the number of frames output by a transport.
PN_EXTERN uint64_t pn_transport_get_frames_input (const pn_transport_t *transport)
 Get the number of frames input by a transport.
PN_EXTERN pn_connection_tpn_transport_connection (pn_transport_t *transport)
 Access the AMQP Connection associated with the transport.

Detailed Description

Transport API for the proton Engine.


Define Documentation

#define PROTON_TRANSPORT_H   1
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines

Generated on 23 Sep 2016 for proton by  doxygen 1.6.1