CMSDK 2.0.1
Cross-platform C++ base library and SDK for the Psyclone AIOS platform
Loading...
Searching...
No Matches
NetworkConnections.cpp File Reference

Implementation of the raw socket transports: TCPListener, TCPConnection, UDPConnection and SSLConnection (OpenSSL). More...

#include "NetworkConnections.h"
#include <arpa/inet.h>
Include dependency graph for NetworkConnections.cpp:

Go to the source code of this file.

Namespaces

namespace  cmlabs

Functions

bool cmlabs::SSLCheckBufferForCompatibility (const char *buffer, uint32 length)
bool cmlabs::AESCheckBufferForCompatibility (const char *buffer, uint32 length)
THREAD_RET THREAD_FUNCTION_CALL cmlabs::TCPListenerRun (THREAD_ARG arg)
 Thread entry point for a TCPListener's internal accept loop.
THREAD_RET THREAD_FUNCTION_CALL cmlabs::TCPConnectionRun (THREAD_ARG arg)
 Thread entry point for a TCPConnection's push-mode reader loop.
THREAD_RET THREAD_FUNCTION_CALL cmlabs::UDPConnectionRun (THREAD_ARG arg)
 Thread entry point for a UDPConnection's push-mode reader loop.
THREAD_RET THREAD_FUNCTION_CALL cmlabs::SSLConnectionRun (THREAD_ARG arg)
bool cmlabs::NetworkTest_TCPServer (uint16 port, uint32 count=0)
 Loopback test server: listens on port and echoes test payloads.
bool cmlabs::NetworkTest_TCPClient (const char *address, uint16 port, uint32 count=0)
 Loopback test client matching NetworkTest_TCPServer().
bool cmlabs::NetworkTest_SendReceiveData (TCPConnection *con, char *data, uint32 dataLen, uint32 c, bool receiveFirst=false)
 Send-and-verify helper used by the TCP tests.

Variables

bool cmlabs::IsSSLInitialised = false

Detailed Description

Implementation of the raw socket transports: TCPListener, TCPConnection, UDPConnection and SSLConnection (OpenSSL).

Contains the platform-specific socket code — Winsock (WSAStartup, SOCKET) under Windows vs BSD sockets under POSIX — buffered receive logic and the SSL peer/hostname verification policy.

Definition in file NetworkConnections.cpp.