CTaps 0.3.0
A C implementation of the Transport Services API (RFC 9621 - 9623)
Loading...
Searching...
No Matches
Connection Properties

Properties for configuring active connections. More...

Collaboration diagram for Connection Properties:

Macros

#define CT_CONN_TIMEOUT_DISABLED   0
 0 Means no timeout in ms
 
#define CT_CONN_RATE_UNLIMITED   UINT64_MAX
 Special value: No rate limit.
 
#define CT_CONN_CHECKSUM_FULL_COVERAGE   UINT32_MAX
 Special value: Full checksum.
 
#define CT_CONN_MSG_MAX_LEN_NOT_APPLICABLE   0
 Special value: No max message length.
 

Enumerations

enum  ct_connection_state_enum_t {
  CT_CONN_STATE_INVALID = -1 , CT_CONN_STATE_ESTABLISHING , CT_CONN_STATE_ESTABLISHED , CT_CONN_STATE_CLOSING ,
  CT_CONN_STATE_CLOSED
}
 Connection lifecycle states. More...
 
enum  ct_connection_scheduler_enum_t { CT_CONN_SCHEDULER_WEIGHTED_FAIR_QUEUEING = 0 }
 Connection scheduling algorithms for multipath. More...
 
enum  ct_capacity_profile_enum_t {
  CT_CAPACITY_PROFILE_BEST_EFFORT = 0 , CT_CAPACITY_PROFILE_SCAVENGER , CT_CAPACITY_PROFILE_LOW_LATENCY_INTERACTIVE , CT_CAPACITY_PROFILE_LOW_LATENCY_NON_INTERACTIVE ,
  CT_CAPACITY_PROFILE_CONSTANT_RATE_STREAMING , CT_CAPACITY_PROFILE_CAPACITY_SEEKING
}
 QoS capacity profiles for traffic classification. More...
 
enum  ct_multipath_policy_enum_t { CT_MULTIPATH_POLICY_HANDOVER = 0 , CT_MULTIPATH_POLICY_INTERACTIVE , CT_MULTIPATH_POLICY_AGGREGATE }
 Policies for multipath traffic distribution. More...
 

Functions

uint32_t ct_transport_properties_get_recv_checksum_len (const ct_transport_properties_t *transport_props)
 
uint8_t ct_transport_properties_get_conn_priority (const ct_transport_properties_t *transport_props)
 
uint32_t ct_transport_properties_get_conn_timeout_ms (const ct_transport_properties_t *transport_props)
 
uint32_t ct_transport_properties_get_keep_alive_timeout (const ct_transport_properties_t *transport_props)
 
ct_connection_scheduler_enum_t ct_transport_properties_get_conn_scheduler (const ct_transport_properties_t *transport_props)
 
ct_capacity_profile_enum_t ct_transport_properties_get_conn_capacity_profile (const ct_transport_properties_t *transport_props)
 
ct_multipath_policy_enum_t ct_transport_properties_get_multipath_policy (const ct_transport_properties_t *transport_props)
 
uint64_t ct_transport_properties_get_min_send_rate (const ct_transport_properties_t *transport_props)
 
uint64_t ct_transport_properties_get_min_recv_rate (const ct_transport_properties_t *transport_props)
 
uint64_t ct_transport_properties_get_max_send_rate (const ct_transport_properties_t *transport_props)
 
uint64_t ct_transport_properties_get_max_recv_rate (const ct_transport_properties_t *transport_props)
 
uint64_t ct_transport_properties_get_group_conn_limit (const ct_transport_properties_t *transport_props)
 
bool ct_transport_properties_get_isolate_session (const ct_transport_properties_t *transport_props)
 
void ct_transport_properties_set_recv_checksum_len (ct_transport_properties_t *transport_props, uint32_t val)
 
void ct_transport_properties_set_conn_priority (ct_transport_properties_t *transport_props, uint8_t val)
 
void ct_transport_properties_set_conn_timeout_ms (ct_transport_properties_t *transport_props, uint32_t val)
 
void ct_transport_properties_set_keep_alive_timeout (ct_transport_properties_t *transport_props, uint32_t val)
 
void ct_transport_properties_set_conn_scheduler (ct_transport_properties_t *transport_props, ct_connection_scheduler_enum_t val)
 
void ct_transport_properties_set_conn_capacity_profile (ct_transport_properties_t *transport_props, ct_capacity_profile_enum_t val)
 
void ct_transport_properties_set_multipath_policy (ct_transport_properties_t *transport_props, ct_multipath_policy_enum_t val)
 
void ct_transport_properties_set_min_send_rate (ct_transport_properties_t *transport_props, uint64_t val)
 
void ct_transport_properties_set_min_recv_rate (ct_transport_properties_t *transport_props, uint64_t val)
 
void ct_transport_properties_set_max_send_rate (ct_transport_properties_t *transport_props, uint64_t val)
 
void ct_transport_properties_set_max_recv_rate (ct_transport_properties_t *transport_props, uint64_t val)
 
void ct_transport_properties_set_group_conn_limit (ct_transport_properties_t *transport_props, uint64_t val)
 
void ct_transport_properties_set_isolate_session (ct_transport_properties_t *transport_props, bool val)
 
uint32_t ct_transport_properties_get_user_timeout_value_ms (const ct_transport_properties_t *transport_props)
 
bool ct_transport_properties_get_user_timeout_enabled (const ct_transport_properties_t *transport_props)
 
bool ct_transport_properties_get_user_timeout_changeable (const ct_transport_properties_t *transport_props)
 
void ct_transport_properties_set_user_timeout_value_ms (ct_transport_properties_t *transport_props, uint32_t val)
 
void ct_transport_properties_set_user_timeout_enabled (ct_transport_properties_t *transport_props, bool val)
 
void ct_transport_properties_set_user_timeout_changeable (ct_transport_properties_t *transport_props, bool val)
 
uint64_t ct_transport_properties_get_singular_transmission_msg_max_len (const ct_transport_properties_t *transport_props)
 
uint64_t ct_transport_properties_get_send_message_max_len (const ct_transport_properties_t *transport_props)
 
uint64_t ct_transport_properties_get_recv_message_max_len (const ct_transport_properties_t *transport_props)
 

Detailed Description

Properties for configuring active connections.

Macro Definition Documentation

◆ CT_CONN_CHECKSUM_FULL_COVERAGE

#define CT_CONN_CHECKSUM_FULL_COVERAGE   UINT32_MAX

Special value: Full checksum.

Special value: checksum entire message

Definition at line 268 of file ctaps.h.

◆ CT_CONN_MSG_MAX_LEN_NOT_APPLICABLE

#define CT_CONN_MSG_MAX_LEN_NOT_APPLICABLE   0

Special value: No max message length.

Special value: no maximum length

Definition at line 273 of file ctaps.h.

◆ CT_CONN_RATE_UNLIMITED

#define CT_CONN_RATE_UNLIMITED   UINT64_MAX

Special value: No rate limit.

Special value: no rate limit

Definition at line 263 of file ctaps.h.

◆ CT_CONN_TIMEOUT_DISABLED

#define CT_CONN_TIMEOUT_DISABLED   0

0 Means no timeout in ms

Matches picoquic's definition of no timeout

Definition at line 258 of file ctaps.h.

Enumeration Type Documentation

◆ ct_capacity_profile_enum_t

QoS capacity profiles for traffic classification.

Enumerator
CT_CAPACITY_PROFILE_BEST_EFFORT 

Default best-effort traffic.

CT_CAPACITY_PROFILE_SCAVENGER 

Background/bulk traffic.

CT_CAPACITY_PROFILE_LOW_LATENCY_INTERACTIVE 

Interactive low-latency (e.g., gaming, VoIP)

CT_CAPACITY_PROFILE_LOW_LATENCY_NON_INTERACTIVE 

Non-interactive low-latency (e.g., streaming)

CT_CAPACITY_PROFILE_CONSTANT_RATE_STREAMING 

Constant bitrate streaming.

CT_CAPACITY_PROFILE_CAPACITY_SEEKING 

Throughput-seeking traffic.

Definition at line 299 of file ctaps.h.

◆ ct_connection_scheduler_enum_t

Connection scheduling algorithms for multipath.

Enumerator
CT_CONN_SCHEDULER_WEIGHTED_FAIR_QUEUEING 

Weighted fair queueing across paths.

Definition at line 291 of file ctaps.h.

◆ ct_connection_state_enum_t

Connection lifecycle states.

Enumerator
CT_CONN_STATE_INVALID 

Invalid state (used for error handling)

CT_CONN_STATE_ESTABLISHING 

Connection is being established.

CT_CONN_STATE_ESTABLISHED 

Connection is ready for data transfer.

CT_CONN_STATE_CLOSING 

Connection is closing gracefully.

CT_CONN_STATE_CLOSED 

Connection is fully closed.

Definition at line 279 of file ctaps.h.

◆ ct_multipath_policy_enum_t

Policies for multipath traffic distribution.

Enumerator
CT_MULTIPATH_POLICY_HANDOVER 

Use paths sequentially (failover only)

CT_MULTIPATH_POLICY_INTERACTIVE 

Optimize for low latency.

CT_MULTIPATH_POLICY_AGGREGATE 

Use all paths for maximum throughput.

Definition at line 312 of file ctaps.h.

Function Documentation

◆ ct_transport_properties_get_conn_capacity_profile()

ct_capacity_profile_enum_t ct_transport_properties_get_conn_capacity_profile ( const ct_transport_properties_t transport_props)

◆ ct_transport_properties_get_conn_priority()

uint8_t ct_transport_properties_get_conn_priority ( const ct_transport_properties_t transport_props)

◆ ct_transport_properties_get_conn_scheduler()

ct_connection_scheduler_enum_t ct_transport_properties_get_conn_scheduler ( const ct_transport_properties_t transport_props)

◆ ct_transport_properties_get_conn_timeout_ms()

uint32_t ct_transport_properties_get_conn_timeout_ms ( const ct_transport_properties_t transport_props)

◆ ct_transport_properties_get_group_conn_limit()

uint64_t ct_transport_properties_get_group_conn_limit ( const ct_transport_properties_t transport_props)

◆ ct_transport_properties_get_isolate_session()

bool ct_transport_properties_get_isolate_session ( const ct_transport_properties_t transport_props)

◆ ct_transport_properties_get_keep_alive_timeout()

uint32_t ct_transport_properties_get_keep_alive_timeout ( const ct_transport_properties_t transport_props)

◆ ct_transport_properties_get_max_recv_rate()

uint64_t ct_transport_properties_get_max_recv_rate ( const ct_transport_properties_t transport_props)

◆ ct_transport_properties_get_max_send_rate()

uint64_t ct_transport_properties_get_max_send_rate ( const ct_transport_properties_t transport_props)

◆ ct_transport_properties_get_min_recv_rate()

uint64_t ct_transport_properties_get_min_recv_rate ( const ct_transport_properties_t transport_props)

◆ ct_transport_properties_get_min_send_rate()

uint64_t ct_transport_properties_get_min_send_rate ( const ct_transport_properties_t transport_props)

◆ ct_transport_properties_get_multipath_policy()

ct_multipath_policy_enum_t ct_transport_properties_get_multipath_policy ( const ct_transport_properties_t transport_props)

◆ ct_transport_properties_get_recv_checksum_len()

uint32_t ct_transport_properties_get_recv_checksum_len ( const ct_transport_properties_t transport_props)

◆ ct_transport_properties_get_recv_message_max_len()

uint64_t ct_transport_properties_get_recv_message_max_len ( const ct_transport_properties_t transport_props)

◆ ct_transport_properties_get_send_message_max_len()

uint64_t ct_transport_properties_get_send_message_max_len ( const ct_transport_properties_t transport_props)

◆ ct_transport_properties_get_singular_transmission_msg_max_len()

uint64_t ct_transport_properties_get_singular_transmission_msg_max_len ( const ct_transport_properties_t transport_props)

◆ ct_transport_properties_get_user_timeout_changeable()

bool ct_transport_properties_get_user_timeout_changeable ( const ct_transport_properties_t transport_props)

◆ ct_transport_properties_get_user_timeout_enabled()

bool ct_transport_properties_get_user_timeout_enabled ( const ct_transport_properties_t transport_props)

◆ ct_transport_properties_get_user_timeout_value_ms()

uint32_t ct_transport_properties_get_user_timeout_value_ms ( const ct_transport_properties_t transport_props)

◆ ct_transport_properties_set_conn_capacity_profile()

void ct_transport_properties_set_conn_capacity_profile ( ct_transport_properties_t transport_props,
ct_capacity_profile_enum_t  val 
)

◆ ct_transport_properties_set_conn_priority()

void ct_transport_properties_set_conn_priority ( ct_transport_properties_t transport_props,
uint8_t  val 
)

◆ ct_transport_properties_set_conn_scheduler()

void ct_transport_properties_set_conn_scheduler ( ct_transport_properties_t transport_props,
ct_connection_scheduler_enum_t  val 
)

◆ ct_transport_properties_set_conn_timeout_ms()

void ct_transport_properties_set_conn_timeout_ms ( ct_transport_properties_t transport_props,
uint32_t  val 
)

◆ ct_transport_properties_set_group_conn_limit()

void ct_transport_properties_set_group_conn_limit ( ct_transport_properties_t transport_props,
uint64_t  val 
)

◆ ct_transport_properties_set_isolate_session()

void ct_transport_properties_set_isolate_session ( ct_transport_properties_t transport_props,
bool  val 
)

◆ ct_transport_properties_set_keep_alive_timeout()

void ct_transport_properties_set_keep_alive_timeout ( ct_transport_properties_t transport_props,
uint32_t  val 
)

◆ ct_transport_properties_set_max_recv_rate()

void ct_transport_properties_set_max_recv_rate ( ct_transport_properties_t transport_props,
uint64_t  val 
)

◆ ct_transport_properties_set_max_send_rate()

void ct_transport_properties_set_max_send_rate ( ct_transport_properties_t transport_props,
uint64_t  val 
)

◆ ct_transport_properties_set_min_recv_rate()

void ct_transport_properties_set_min_recv_rate ( ct_transport_properties_t transport_props,
uint64_t  val 
)

◆ ct_transport_properties_set_min_send_rate()

void ct_transport_properties_set_min_send_rate ( ct_transport_properties_t transport_props,
uint64_t  val 
)

◆ ct_transport_properties_set_multipath_policy()

void ct_transport_properties_set_multipath_policy ( ct_transport_properties_t transport_props,
ct_multipath_policy_enum_t  val 
)

◆ ct_transport_properties_set_recv_checksum_len()

void ct_transport_properties_set_recv_checksum_len ( ct_transport_properties_t transport_props,
uint32_t  val 
)

◆ ct_transport_properties_set_user_timeout_changeable()

void ct_transport_properties_set_user_timeout_changeable ( ct_transport_properties_t transport_props,
bool  val 
)

◆ ct_transport_properties_set_user_timeout_enabled()

void ct_transport_properties_set_user_timeout_enabled ( ct_transport_properties_t transport_props,
bool  val 
)

◆ ct_transport_properties_set_user_timeout_value_ms()

void ct_transport_properties_set_user_timeout_value_ms ( ct_transport_properties_t transport_props,
uint32_t  val 
)