proton/transport.h File Reference

A network channel supporting an AMQP connection. 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
#define PN_TRACE_OFF
 Turn logging off entirely.
#define PN_TRACE_RAW
 Log raw binary data going in and out of the transport.
#define PN_TRACE_FRM
 Log protocol frames going in and out of the transport.
#define PN_TRACE_DRV
 Log driver-related events.
#define PN_TRACE_EVT
 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_transport_tpn_transport (void)
 Factory for creating a transport.
void pn_transport_set_server (pn_transport_t *transport)
 Configure a transport as a server.
void pn_transport_free (pn_transport_t *transport)
 Free a transport object.
const char * pn_transport_get_user (pn_transport_t *transport)
 Retrieve the authenticated user.
void pn_transport_require_auth (pn_transport_t *transport, bool required)
 Set whether a non-authenticated transport connection is allowed.
bool pn_transport_is_authenticated (pn_transport_t *transport)
 Tell whether the transport connection is authenticated.
void pn_transport_require_encryption (pn_transport_t *transport, bool required)
 Set whether a non encrypted transport connection is allowed.
bool pn_transport_is_encrypted (pn_transport_t *transport)
 Tell whether the transport connection is encrypted.
pn_condition_tpn_transport_condition (pn_transport_t *transport)
 Get additional information about the condition of the transport.
pn_error_tpn_transport_error (pn_transport_t *transport)
 **Deprecated**
int pn_transport_bind (pn_transport_t *transport, pn_connection_t *connection)
 Binds the transport to an AMQP connection.
int pn_transport_unbind (pn_transport_t *transport)
 Unbinds a transport from its AMQP connection.
void pn_transport_trace (pn_transport_t *transport, pn_trace_t trace)
 Update a transports trace flags.
void pn_transport_set_tracer (pn_transport_t *transport, pn_tracer_t tracer)
 Set the tracing function used by a transport.
pn_tracer_t pn_transport_get_tracer (pn_transport_t *transport)
 Get the tracing function used by a transport.
void * pn_transport_get_context (pn_transport_t *transport)
 **Deprecated** - Use pn_transport_attachments().
void pn_transport_set_context (pn_transport_t *transport, void *context)
 **Deprecated** - Use pn_transport_attachments().
pn_record_t * pn_transport_attachments (pn_transport_t *transport)
 Get the attachments that are associated with a transport object.
void pn_transport_log (pn_transport_t *transport, const char *message)
 Log a message using a transport's logging mechanism.
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.
void pn_transport_logf (pn_transport_t *transport, const char *fmt,...)
 Log a printf formatted message using a transport's logging mechanism.
uint16_t pn_transport_get_channel_max (pn_transport_t *transport)
 Get the maximum allowed channel for a transport.
int pn_transport_set_channel_max (pn_transport_t *transport, uint16_t channel_max)
 Set the maximum allowed channel number for a transport.
uint16_t pn_transport_remote_channel_max (pn_transport_t *transport)
 Get the maximum allowed channel of a transport's remote peer.
uint32_t pn_transport_get_max_frame (pn_transport_t *transport)
 Get the maximum frame size of a transport.
void pn_transport_set_max_frame (pn_transport_t *transport, uint32_t size)
 Set the maximum frame size of a transport.
uint32_t pn_transport_get_remote_max_frame (pn_transport_t *transport)
 Get the maximum frame size of a transport's remote peer.
pn_millis_t pn_transport_get_idle_timeout (pn_transport_t *transport)
 Get the idle timeout for a transport.
void pn_transport_set_idle_timeout (pn_transport_t *transport, pn_millis_t timeout)
 Set the idle timeout for a transport.
pn_millis_t pn_transport_get_remote_idle_timeout (pn_transport_t *transport)
 Get the idle timeout for a transport's remote peer.
ssize_t pn_transport_input (pn_transport_t *transport, const char *bytes, size_t available)
 **Deprecated**
ssize_t pn_transport_output (pn_transport_t *transport, char *bytes, size_t size)
 **Deprecated**
ssize_t pn_transport_capacity (pn_transport_t *transport)
 Get the amount of free space for input following the transport's tail pointer.
char * pn_transport_tail (pn_transport_t *transport)
 Get the transport's tail pointer.
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.
int pn_transport_process (pn_transport_t *transport, size_t size)
 Process input data following the tail pointer.
int pn_transport_close_tail (pn_transport_t *transport)
 Indicate that the input has reached End Of Stream (EOS).
ssize_t pn_transport_pending (pn_transport_t *transport)
 Get the number of pending output bytes following the transport's head pointer.
const char * pn_transport_head (pn_transport_t *transport)
 Get the transport's head pointer.
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.
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.
int pn_transport_close_head (pn_transport_t *transport)
 Indicate that the output has closed.
bool pn_transport_quiesced (pn_transport_t *transport)
 Check if a transport has buffered data.
bool pn_transport_head_closed (pn_transport_t *transport)
 True if pn_transport_close_head() has been called.
bool pn_transport_tail_closed (pn_transport_t *transport)
 True if pn_transport_close_tail() has been called.
bool pn_transport_closed (pn_transport_t *transport)
 Equivalent to pn_transport_head_closed(transport) && pn_transport_tail_closed(transport).
pn_timestamp_t pn_transport_tick (pn_transport_t *transport, pn_timestamp_t now)
 Process any pending transport timer events.
uint64_t pn_transport_get_frames_output (const pn_transport_t *transport)
 Get the number of frames output by a transport.
uint64_t pn_transport_get_frames_input (const pn_transport_t *transport)
 Get the number of frames input by a transport.
pn_connection_tpn_transport_connection (pn_transport_t *transport)
 Access the AMQP Connection associated with the transport.

Detailed Description

A network channel supporting an AMQP connection.


Generated on 29 Mar 2018 for Qpid Proton C by  doxygen 1.6.1