Loading...
Searching...
No Matches
quic.c File Reference
#include <picoquic.h>
#include <picoquic_config.h>
#include <autoqlog.h>
#include "internal/quic.h"
#include "internal/qlog.h"
#include "imquic/debug.h"
Include dependency graph for quic.c:

Functions

void imquic_quic_init (const char *secrets_log)
 Initialize the QUIC stack at startup.
void imquic_quic_deinit (void)
 Uninitialize the QUIC stack.
const char * imquic_quic_sslkeylog_file (void)
 Helper method to return the SSLKEYLOGFILE, if configured.
int imquic_quic_create_context (imquic_network_endpoint *endpoint, imquic_configuration *config)
 Helper method to create a picoquic context for an endpoint.
void imquic_quic_incoming_packet (imquic_network_endpoint *endpoint, uint8_t *buffer, size_t len, imquic_network_address *sender)
 Helper method to process incoming UDP messages.
gboolean imquic_quic_queued_event (imquic_connection *conn, imquic_connection_event *event)
 Callback fired when there's a queued event to process for a connection, to process and trigger via picoquic in a thread-safe way.
void imquic_quic_next_step (imquic_network_endpoint *endpoint)
 Helper to schedule the next picoquic lifecycle iteration.

Function Documentation

◆ imquic_quic_create_context()

int imquic_quic_create_context ( imquic_network_endpoint * endpoint,
imquic_configuration * config )

Helper method to create a picoquic context for an endpoint.

Parameters
endpointThe imquic_network_endpoint instance associated with the picoquic context
configThe imquic_configuration instance used to configure the new endpoint
Returns
0, if successful, or a negative integer otherwise

◆ imquic_quic_deinit()

void imquic_quic_deinit ( void )

Uninitialize the QUIC stack.

◆ imquic_quic_incoming_packet()

void imquic_quic_incoming_packet ( imquic_network_endpoint * endpoint,
uint8_t * buffer,
size_t len,
imquic_network_address * sender )

Helper method to process incoming UDP messages.

Parameters
endpointThe imquic_network_endpoint instance the message came from
bufferThe message data
lenThe message size
senderThe imquic_network_address the message came from

◆ imquic_quic_init()

void imquic_quic_init ( const char * secrets_log)

Initialize the QUIC stack at startup.

Parameters
secrets_logFile to use to store QUIC secret, e.g., for Wireshark debugging (see SSLKEYLOGFILE)

◆ imquic_quic_next_step()

void imquic_quic_next_step ( imquic_network_endpoint * endpoint)

Helper to schedule the next picoquic lifecycle iteration.

Parameters
endpointThe imquic_network_endpoint instance to update

◆ imquic_quic_queued_event()

gboolean imquic_quic_queued_event ( imquic_connection * conn,
imquic_connection_event * event )

Callback fired when there's a queued event to process for a connection, to process and trigger via picoquic in a thread-safe way.

Parameters
connThe imquic_connection the event is for
eventThe imquic_connection_event instance to handle
Returns
G_SOURCE_CONTINUE if the event should be fired again in the future, G_SOURCE_REMOVE otherwise

◆ imquic_quic_sslkeylog_file()

const char * imquic_quic_sslkeylog_file ( void )

Helper method to return the SSLKEYLOGFILE, if configured.

Returns
The SSLKEYLOGFILE, if configured, or NULL otherwise