|
virtual void | Shutdown ()=0 |
|
virtual ConnectionID | Connect (const char *hostAddress, unsigned int port)=0 |
| Connect with host and port. This is ASync operation, the connection is active after OnConnectionEstablished is called.
|
|
virtual ConnectionID | Connect (const AZStd::string &address)=0 |
| Connect with internal address format. This is ASync operation, the connection is active after OnConnectionEstablished is called.
|
|
virtual void | Disconnect (ConnectionID id)=0 |
| Request a disconnect procedure. This is ASync operation, the connection is closed after OnDisconnect is called.
|
|
virtual unsigned int | GetPort () const =0 |
|
virtual unsigned int | GetMessageMTU ()=0 |
| Returns the maximum message size that will fit in one datagram.
|
|
virtual AZStd::string | ConnectionToAddress (ConnectionID id)=0 |
| Returns maximum message size (with splitting or without). Splitting will make your message reliable, which might not be optimal for Unreliable messages. It's better to send two unreliable.
|
|
virtual void | SendWithCallback (const char *data, unsigned int dataSize, AZStd::unique_ptr< CarrierACKCallback > ackCallback, ConnectionID target=AllConnections, DataReliability reliability=SEND_RELIABLE, DataPriority priority=PRIORITY_NORMAL, unsigned char channel=0)=0 |
|
virtual void | Send (const char *data, unsigned int dataSize, ConnectionID target=AllConnections, DataReliability reliability=SEND_RELIABLE, DataPriority priority=PRIORITY_NORMAL, unsigned char channel=0)=0 |
|
virtual ReceiveResult | Receive (char *data, unsigned int maxDataSize, ConnectionID from, unsigned char channel=0)=0 |
|
unsigned int | QueryNextReceiveMessageMaxSize (ConnectionID from, unsigned char channel=0) |
|
virtual void | Update ()=0 |
|
virtual unsigned int | GetNumConnections () const =0 |
|
virtual ConnectionStates | QueryStatistics (ConnectionID id, TrafficControl::Statistics *lastSecond=nullptr, TrafficControl::Statistics *lifetime=nullptr, TrafficControl::Statistics *effectiveLastSecond=nullptr, TrafficControl::Statistics *effectiveLifetime=nullptr, FlowInformation *flowInformation=nullptr)=0 |
|
virtual void | DebugStatusReport (ConnectionID id, unsigned char channel=0) |
|
virtual void | DebugDeleteConnection (ConnectionID id) |
|
virtual void | DebugEnableDisconnectDetection (bool isEnabled) |
|
virtual bool | DebugIsEnableDisconnectDetection () const |
|
virtual ConnectionID | DebugGetConnectionId (unsigned int index) const =0 |
|
virtual void | StartClockSync (unsigned int syncInterval=1000, bool isReset=false)=0 |
|
virtual void | StopClockSync ()=0 |
|
virtual AZ::u32 | GetTime ()=0 |
|
unsigned int | GetMaxSendRate () const |
| Returns the max frequency we will grab messages from the queues and send in milliseconds.
|
|
AZ_FORCE_INLINE IGridMate * | GetGridMate () const |
| Return the owning instance of the gridmate.
|
|
Sends buffer with an ACK callback. When the transport layer recieves an ACK it will run the callback. The carrier runs in the main game thread, so if the callback executes a function in another thread it is the responsibility of the callback creator to add thread safety.
This adds reasonable overhead to the carrier data handling, and so should only be used when a callback is essential to operations.
Note: ACK callback is not supported with broadcast targets and will assert.