Loading...
Searching...
No Matches
imquic_moq_callbacks Struct Reference

MoQ public callbacks. More...

#include <moq.h>

Data Fields

void(* new_connection )(imquic_connection *conn, void *user_data)
 Callback function to be notified about new QUIC connections, before MoQ has been involved.
 
uint64_t(* incoming_moq_connection )(imquic_connection *conn, uint8_t *auth, size_t authlen)
 Callback function to be notified about incoming CLIENT_SETUP messages.
 
void(* moq_ready )(imquic_connection *conn)
 Callback function to be notified when a MoQ connection is ready (setup performed on both ends)
 
void(* incoming_publish_namespace )(imquic_connection *conn, uint64_t request_id, imquic_moq_namespace *tns, uint8_t *auth, size_t authlen)
 Callback function to be notified about incoming PUBLISH_NAMESPACE messages.
 
void(* incoming_publish_namespace_cancel )(imquic_connection *conn, imquic_moq_namespace *tns, imquic_moq_publish_namespace_error_code error_code, const char *reason)
 Callback function to be notified about incoming PUBLISH_NAMESPACE_CANCEL messages.
 
void(* publish_namespace_accepted )(imquic_connection *conn, uint64_t request_id, imquic_moq_namespace *tns)
 Callback function to be notified about incoming PUBLISH_NAMESPACE_ACCEPTED messages.
 
void(* publish_namespace_error )(imquic_connection *conn, uint64_t request_id, imquic_moq_namespace *tns, imquic_moq_publish_namespace_error_code error_code, const char *reason)
 Callback function to be notified about incoming PUBLISH_NAMESPACE_ERROR messages.
 
void(* publish_namespace_done )(imquic_connection *conn, imquic_moq_namespace *tns)
 Callback function to be notified about incoming PUBLISH_NAMESPACE_DONE messages.
 
void(* incoming_publish )(imquic_connection *conn, uint64_t request_id, imquic_moq_namespace *tns, imquic_moq_name *tn, uint64_t track_alias, gboolean descending, imquic_moq_location *largest, gboolean forward, uint8_t *auth, size_t authlen)
 Callback function to be notified about incoming PUBLISH messages.
 
void(* publish_accepted )(imquic_connection *conn, uint64_t request_id, gboolean forward, uint8_t priority, gboolean descending, imquic_moq_filter_type filter_type, imquic_moq_location *start_location, imquic_moq_location *end_location, uint8_t *auth, size_t authlen)
 Callback function to be notified about incoming PUBLISH_ACCEPTED messages.
 
void(* publish_error )(imquic_connection *conn, uint64_t request_id, imquic_moq_pub_error_code error_code, const char *reason)
 Callback function to be notified about incoming PUBLISH_ERROR messages.
 
void(* incoming_subscribe )(imquic_connection *conn, uint64_t request_id, uint64_t track_alias, imquic_moq_namespace *tns, imquic_moq_name *tn, uint8_t priority, gboolean descending, gboolean forward, imquic_moq_filter_type filter_type, imquic_moq_location *start_location, imquic_moq_location *end_location, uint8_t *auth, size_t authlen)
 Callback function to be notified about incoming SUBSCRIBE messages.
 
void(* subscribe_accepted )(imquic_connection *conn, uint64_t request_id, uint64_t track_alias, uint64_t expires, gboolean descending, imquic_moq_location *largest)
 Callback function to be notified about incoming SUBSCRIBE_ACCEPTED messages.
 
void(* subscribe_error )(imquic_connection *conn, uint64_t request_id, imquic_moq_sub_error_code error_code, const char *reason, uint64_t track_alias)
 Callback function to be notified about incoming SUBSCRIBE_ERROR messages.
 
void(* subscribe_updated )(imquic_connection *conn, uint64_t request_id, uint64_t sub_request_id, imquic_moq_location *start_location, uint64_t end_group, uint8_t priority, gboolean forward)
 Callback function to be notified about incoming SUBSCRIBE_UPDATE messages.
 
void(* publish_done )(imquic_connection *conn, uint64_t request_id, imquic_moq_sub_done_code status_code, uint64_t streams_count, const char *reason)
 Callback function to be notified about incoming PUBLISH_DONE messages.
 
void(* incoming_unsubscribe )(imquic_connection *conn, uint64_t request_id)
 Callback function to be notified about incoming UNBSUBSCRIBE messages.
 
void(* requests_blocked )(imquic_connection *conn, uint64_t max_request_id)
 Callback function to be notified about incoming REQUESTS_BLOCKED messages.
 
void(* incoming_subscribe_namespace )(imquic_connection *conn, uint64_t request_id, imquic_moq_namespace *tns, uint8_t *auth, size_t authlen)
 Callback function to be notified about incoming SUBSCRIBE_NAMESPACE messages.
 
void(* subscribe_namespace_accepted )(imquic_connection *conn, uint64_t request_id, imquic_moq_namespace *tns)
 Callback function to be notified about incoming SUBSCRIBE_NAMESPACE_ACCEPTED messages.
 
void(* subscribe_namespace_error )(imquic_connection *conn, uint64_t request_id, imquic_moq_namespace *tns, imquic_moq_subns_error_code error_code, const char *reason)
 Callback function to be notified about incoming SUBSCRIBE_NAMESPACE_ERROR messages.
 
void(* incoming_unsubscribe_namespace )(imquic_connection *conn, imquic_moq_namespace *tns)
 Callback function to be notified about incoming UNSUBSCRIBE_NAMESPACE messages.
 
void(* incoming_standalone_fetch )(imquic_connection *conn, uint64_t request_id, imquic_moq_namespace *tns, imquic_moq_name *tn, gboolean descending, imquic_moq_location_range *range, uint8_t *auth, size_t authlen)
 Callback function to be notified about incoming FETCH messages.
 
void(* incoming_joining_fetch )(imquic_connection *conn, uint64_t request_id, uint64_t joining_request_id, gboolean absolute, uint64_t joining_start, gboolean descending, uint8_t *auth, size_t authlen)
 
void(* incoming_fetch_cancel )(imquic_connection *conn, uint64_t request_id)
 Callback function to be notified about incoming FETCH_CANCEL messages.
 
void(* fetch_accepted )(imquic_connection *conn, uint64_t request_id, gboolean descending, imquic_moq_location *largest)
 Callback function to be notified about incoming FETCH_ACCEPTED messages.
 
void(* fetch_error )(imquic_connection *conn, uint64_t request_id, imquic_moq_fetch_error_code error_code, const char *reason)
 Callback function to be notified about incoming FETCH_ERROR messages.
 
void(* incoming_track_status )(imquic_connection *conn, uint64_t request_id, imquic_moq_namespace *tns, imquic_moq_name *tn, uint8_t priority, gboolean descending, gboolean forward, imquic_moq_filter_type filter_type, imquic_moq_location *start_location, imquic_moq_location *end_location, uint8_t *auth, size_t authlen)
 Callback function to be notified about incoming TRACK_STATUS messages.
 
void(* track_status_accepted )(imquic_connection *conn, uint64_t request_id, uint64_t track_alias, uint64_t expires, gboolean descending, imquic_moq_location *largest)
 Callback function to be notified about incoming TRACK_STATUS_ACCEPTED messages.
 
void(* track_status_error )(imquic_connection *conn, uint64_t request_id, imquic_moq_sub_error_code error_code, const char *reason)
 Callback function to be notified about incoming TRACK_STATUS_ERROR messages.
 
void(* incoming_object )(imquic_connection *conn, imquic_moq_object *object)
 Callback function to be notified about incoming MoQ objects.
 
void(* incoming_goaway )(imquic_connection *conn, const char *uri)
 Callback function to be notified about incoming GOAWAY messages.
 
void(* connection_gone )(imquic_connection *conn)
 Callback function to be notified about MoQ connections being closed.
 

Detailed Description

MoQ public callbacks.

Field Documentation

◆ connection_gone

void(* imquic_moq_callbacks::connection_gone) (imquic_connection *conn)

Callback function to be notified about MoQ connections being closed.

◆ fetch_accepted

void(* imquic_moq_callbacks::fetch_accepted) (imquic_connection *conn, uint64_t request_id, gboolean descending, imquic_moq_location *largest)

Callback function to be notified about incoming FETCH_ACCEPTED messages.

◆ fetch_error

void(* imquic_moq_callbacks::fetch_error) (imquic_connection *conn, uint64_t request_id, imquic_moq_fetch_error_code error_code, const char *reason)

Callback function to be notified about incoming FETCH_ERROR messages.

◆ incoming_fetch_cancel

void(* imquic_moq_callbacks::incoming_fetch_cancel) (imquic_connection *conn, uint64_t request_id)

Callback function to be notified about incoming FETCH_CANCEL messages.

◆ incoming_goaway

void(* imquic_moq_callbacks::incoming_goaway) (imquic_connection *conn, const char *uri)

Callback function to be notified about incoming GOAWAY messages.

◆ incoming_joining_fetch

void(* imquic_moq_callbacks::incoming_joining_fetch) (imquic_connection *conn, uint64_t request_id, uint64_t joining_request_id, gboolean absolute, uint64_t joining_start, gboolean descending, uint8_t *auth, size_t authlen)

◆ incoming_moq_connection

uint64_t(* imquic_moq_callbacks::incoming_moq_connection) (imquic_connection *conn, uint8_t *auth, size_t authlen)

Callback function to be notified about incoming CLIENT_SETUP messages.

Note
This only makes sense for servers: to accept a connection, servers must simply return 0 ; to reject a connection, servers must return an error code. If a callback is not configured, a SERVER_SETUP is sent automatically.

◆ incoming_object

void(* imquic_moq_callbacks::incoming_object) (imquic_connection *conn, imquic_moq_object *object)

Callback function to be notified about incoming MoQ objects.

◆ incoming_publish

void(* imquic_moq_callbacks::incoming_publish) (imquic_connection *conn, uint64_t request_id, imquic_moq_namespace *tns, imquic_moq_name *tn, uint64_t track_alias, gboolean descending, imquic_moq_location *largest, gboolean forward, uint8_t *auth, size_t authlen)

Callback function to be notified about incoming PUBLISH messages.

◆ incoming_publish_namespace

void(* imquic_moq_callbacks::incoming_publish_namespace) (imquic_connection *conn, uint64_t request_id, imquic_moq_namespace *tns, uint8_t *auth, size_t authlen)

Callback function to be notified about incoming PUBLISH_NAMESPACE messages.

◆ incoming_publish_namespace_cancel

void(* imquic_moq_callbacks::incoming_publish_namespace_cancel) (imquic_connection *conn, imquic_moq_namespace *tns, imquic_moq_publish_namespace_error_code error_code, const char *reason)

Callback function to be notified about incoming PUBLISH_NAMESPACE_CANCEL messages.

◆ incoming_standalone_fetch

void(* imquic_moq_callbacks::incoming_standalone_fetch) (imquic_connection *conn, uint64_t request_id, imquic_moq_namespace *tns, imquic_moq_name *tn, gboolean descending, imquic_moq_location_range *range, uint8_t *auth, size_t authlen)

Callback function to be notified about incoming FETCH messages.

◆ incoming_subscribe

void(* imquic_moq_callbacks::incoming_subscribe) (imquic_connection *conn, uint64_t request_id, uint64_t track_alias, imquic_moq_namespace *tns, imquic_moq_name *tn, uint8_t priority, gboolean descending, gboolean forward, imquic_moq_filter_type filter_type, imquic_moq_location *start_location, imquic_moq_location *end_location, uint8_t *auth, size_t authlen)

Callback function to be notified about incoming SUBSCRIBE messages.

◆ incoming_subscribe_namespace

void(* imquic_moq_callbacks::incoming_subscribe_namespace) (imquic_connection *conn, uint64_t request_id, imquic_moq_namespace *tns, uint8_t *auth, size_t authlen)

Callback function to be notified about incoming SUBSCRIBE_NAMESPACE messages.

◆ incoming_track_status

void(* imquic_moq_callbacks::incoming_track_status) (imquic_connection *conn, uint64_t request_id, imquic_moq_namespace *tns, imquic_moq_name *tn, uint8_t priority, gboolean descending, gboolean forward, imquic_moq_filter_type filter_type, imquic_moq_location *start_location, imquic_moq_location *end_location, uint8_t *auth, size_t authlen)

Callback function to be notified about incoming TRACK_STATUS messages.

◆ incoming_unsubscribe

void(* imquic_moq_callbacks::incoming_unsubscribe) (imquic_connection *conn, uint64_t request_id)

Callback function to be notified about incoming UNBSUBSCRIBE messages.

◆ incoming_unsubscribe_namespace

void(* imquic_moq_callbacks::incoming_unsubscribe_namespace) (imquic_connection *conn, imquic_moq_namespace *tns)

Callback function to be notified about incoming UNSUBSCRIBE_NAMESPACE messages.

◆ moq_ready

void(* imquic_moq_callbacks::moq_ready) (imquic_connection *conn)

Callback function to be notified when a MoQ connection is ready (setup performed on both ends)

◆ new_connection

void(* imquic_moq_callbacks::new_connection) (imquic_connection *conn, void *user_data)

Callback function to be notified about new QUIC connections, before MoQ has been involved.

◆ publish_accepted

void(* imquic_moq_callbacks::publish_accepted) (imquic_connection *conn, uint64_t request_id, gboolean forward, uint8_t priority, gboolean descending, imquic_moq_filter_type filter_type, imquic_moq_location *start_location, imquic_moq_location *end_location, uint8_t *auth, size_t authlen)

Callback function to be notified about incoming PUBLISH_ACCEPTED messages.

◆ publish_done

void(* imquic_moq_callbacks::publish_done) (imquic_connection *conn, uint64_t request_id, imquic_moq_sub_done_code status_code, uint64_t streams_count, const char *reason)

Callback function to be notified about incoming PUBLISH_DONE messages.

◆ publish_error

void(* imquic_moq_callbacks::publish_error) (imquic_connection *conn, uint64_t request_id, imquic_moq_pub_error_code error_code, const char *reason)

Callback function to be notified about incoming PUBLISH_ERROR messages.

◆ publish_namespace_accepted

void(* imquic_moq_callbacks::publish_namespace_accepted) (imquic_connection *conn, uint64_t request_id, imquic_moq_namespace *tns)

Callback function to be notified about incoming PUBLISH_NAMESPACE_ACCEPTED messages.

◆ publish_namespace_done

void(* imquic_moq_callbacks::publish_namespace_done) (imquic_connection *conn, imquic_moq_namespace *tns)

Callback function to be notified about incoming PUBLISH_NAMESPACE_DONE messages.

◆ publish_namespace_error

void(* imquic_moq_callbacks::publish_namespace_error) (imquic_connection *conn, uint64_t request_id, imquic_moq_namespace *tns, imquic_moq_publish_namespace_error_code error_code, const char *reason)

Callback function to be notified about incoming PUBLISH_NAMESPACE_ERROR messages.

◆ requests_blocked

void(* imquic_moq_callbacks::requests_blocked) (imquic_connection *conn, uint64_t max_request_id)

Callback function to be notified about incoming REQUESTS_BLOCKED messages.

◆ subscribe_accepted

void(* imquic_moq_callbacks::subscribe_accepted) (imquic_connection *conn, uint64_t request_id, uint64_t track_alias, uint64_t expires, gboolean descending, imquic_moq_location *largest)

Callback function to be notified about incoming SUBSCRIBE_ACCEPTED messages.

◆ subscribe_error

void(* imquic_moq_callbacks::subscribe_error) (imquic_connection *conn, uint64_t request_id, imquic_moq_sub_error_code error_code, const char *reason, uint64_t track_alias)

Callback function to be notified about incoming SUBSCRIBE_ERROR messages.

◆ subscribe_namespace_accepted

void(* imquic_moq_callbacks::subscribe_namespace_accepted) (imquic_connection *conn, uint64_t request_id, imquic_moq_namespace *tns)

Callback function to be notified about incoming SUBSCRIBE_NAMESPACE_ACCEPTED messages.

◆ subscribe_namespace_error

void(* imquic_moq_callbacks::subscribe_namespace_error) (imquic_connection *conn, uint64_t request_id, imquic_moq_namespace *tns, imquic_moq_subns_error_code error_code, const char *reason)

Callback function to be notified about incoming SUBSCRIBE_NAMESPACE_ERROR messages.

◆ subscribe_updated

void(* imquic_moq_callbacks::subscribe_updated) (imquic_connection *conn, uint64_t request_id, uint64_t sub_request_id, imquic_moq_location *start_location, uint64_t end_group, uint8_t priority, gboolean forward)

Callback function to be notified about incoming SUBSCRIBE_UPDATE messages.

◆ track_status_accepted

void(* imquic_moq_callbacks::track_status_accepted) (imquic_connection *conn, uint64_t request_id, uint64_t track_alias, uint64_t expires, gboolean descending, imquic_moq_location *largest)

Callback function to be notified about incoming TRACK_STATUS_ACCEPTED messages.

◆ track_status_error

void(* imquic_moq_callbacks::track_status_error) (imquic_connection *conn, uint64_t request_id, imquic_moq_sub_error_code error_code, const char *reason)

Callback function to be notified about incoming TRACK_STATUS_ERROR messages.


The documentation for this struct was generated from the following file: