Helper class defining an encrypted DTLS endpoint. Note that multiple connections are multiplexed onto a single DTLS socket.
More...
#include <DtlsEndpoint.h>
|
enum class | ConnectResult { Failed
, Pending
, Complete
} |
|
enum class | HandshakeState {
None
, Connecting
, Accepting
, Complete
,
Failed
} |
|
Helper class defining an encrypted DTLS endpoint. Note that multiple connections are multiplexed onto a single DTLS socket.
◆ Accept()
ConnectResult AzNetworking::DtlsEndpoint::Accept |
( |
const DtlsSocket & |
socket, |
|
|
const IpAddress & |
address |
|
) |
| |
Accepts a connection from the remote encrypted endpoint.
- Parameters
-
socket | the dtls socket being used for data transmission |
address | the address of the remote endpoint connecting to us |
- Returns
- a connect result specifying whether the connection is still pending, failed, or complete
◆ Connect()
Opens a connection with the remote encrypted endpoint.
- Parameters
-
socket | the dtls socket being used for data transmission |
address | the address of the remote endpoint being connected to |
outDtlsData | data buffer to store the dtls handshake packet |
- Returns
- a connect result specifying whether the connection is still pending, failed, or complete
◆ DecodePacket()
const uint8_t * AzNetworking::DtlsEndpoint::DecodePacket |
( |
UdpConnection & |
connection, |
|
|
const uint8_t * |
encryptedData, |
|
|
int32_t |
encryptedSize, |
|
|
uint8_t * |
outDecodedData, |
|
|
int32_t & |
outDecodedSize |
|
) |
| |
If the endpoint has encryption enabled, this will decrypt the transmitted data and return the result.
- Note
- sizes have to be signed since OpenSSL often returns negative values to represent error results
- Parameters
-
connection | the UDP connection being used for data transmission |
encryptedData | the potentially encrypted data received from the socket |
encryptedSize | the size of the received raw data |
outDecodedData | an appropriately sized output buffer to store decrypted data |
outDecodedSize | the size of the output buffer |
- Returns
- pointer to the decoded data
◆ IsConnecting()
bool AzNetworking::DtlsEndpoint::IsConnecting |
( |
| ) |
const |
Returns whether or not the endpoint is still negotiating the dtls handshake.
- Returns
- true if the endpoint is still in a connecting state
◆ ProcessHandshakeData()
Attempts to complete the dtls handshake and establish an encrypted connection.
- Parameters
-
connection | the UDP connection being used for data transmission |
dtlsData | data buffer containing dtls handshake packet |
- Returns
- a connect result specifying whether the connection is still pending, failed, or complete
The documentation for this class was generated from the following file:
- Code/Framework/AzNetworking/AzNetworking/UdpTransport/DtlsEndpoint.h