ascii-chat
Binary v0.15.83-53-gb711d8720
Library lib/v0.3.2-701-gb711d8720
Video chat in your terminal
Loading...
Searching...
No Matches
network_negotiation_t Struct Reference

When code needs to work with network negotiation, it keeps protocol, handshake, identity_keys, identity_key_count here instead of scattering it across globals. Initialization establishes the handles and sizes; teardown must release any allocation, lock, thread, or callback context recorded in those fields. are borrowed from server configuration until all connections have drained. The application context retains handshake storage until the closed callback. More...

#include <include/ascii-chat/network/negotiation.h>

Data Fields

network_protocol_t protocol
crypto_handshake_context_t * handshake
const private_key_t * identity_keys
size_t identity_key_count
public_key_t * whitelist
size_t whitelist_count
const char * password
bool secure
bool require_auth
bool require_identity
bool require_encryption
bool forbid_encryption
bool initialized
bool ready
bool encrypt_data
unsigned step

Detailed Description

When code needs to work with network negotiation, it keeps protocol, handshake, identity_keys, identity_key_count here instead of scattering it across globals. Initialization establishes the handles and sizes; teardown must release any allocation, lock, thread, or callback context recorded in those fields. are borrowed from server configuration until all connections have drained. The application context retains handshake storage until the closed callback.

Wire profiles preserve deployed media and discovery handshakes. Credentials

Definition at line 12 of file negotiation.h.

Field Documentation

◆ encrypt_data

bool network_negotiation_t::encrypt_data

Definition at line 21 of file negotiation.h.

Referenced by network_negotiation_receive().

◆ forbid_encryption

bool network_negotiation_t::forbid_encryption

Definition at line 20 of file negotiation.h.

Referenced by network_negotiation_receive().

◆ handshake

crypto_handshake_context_t* network_negotiation_t::handshake

Definition at line 14 of file negotiation.h.

Referenced by network_negotiation_receive().

◆ identity_key_count

size_t network_negotiation_t::identity_key_count

Definition at line 16 of file negotiation.h.

◆ identity_keys

const private_key_t* network_negotiation_t::identity_keys

Definition at line 15 of file negotiation.h.

◆ initialized

bool network_negotiation_t::initialized

Definition at line 21 of file negotiation.h.

◆ password

const char* network_negotiation_t::password

Definition at line 19 of file negotiation.h.

◆ protocol

network_protocol_t network_negotiation_t::protocol

Definition at line 13 of file negotiation.h.

Referenced by network_negotiation_receive().

◆ ready

bool network_negotiation_t::ready

Definition at line 21 of file negotiation.h.

Referenced by network_negotiation_receive().

◆ require_auth

bool network_negotiation_t::require_auth

Definition at line 20 of file negotiation.h.

Referenced by network_negotiation_receive().

◆ require_encryption

bool network_negotiation_t::require_encryption

Definition at line 20 of file negotiation.h.

Referenced by network_negotiation_receive().

◆ require_identity

bool network_negotiation_t::require_identity

Definition at line 20 of file negotiation.h.

◆ secure

bool network_negotiation_t::secure

Definition at line 20 of file negotiation.h.

Referenced by network_negotiation_receive().

◆ step

unsigned network_negotiation_t::step

Definition at line 22 of file negotiation.h.

Referenced by network_negotiation_receive().

◆ whitelist

public_key_t* network_negotiation_t::whitelist

Definition at line 17 of file negotiation.h.

◆ whitelist_count

size_t network_negotiation_t::whitelist_count

Definition at line 18 of file negotiation.h.


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