Skip to content

class flake::TransportImpl

#include </Users/ios_developer/workspace/coldwave-os/build/_deps/flake-src/protocol/TransportImpl.h>

Inherits from flake::Transport, AtomicRef

Public Functions

Name
TransportImpl(Wire * w, ThreadQueue< Message * > & inQueue, ThreadQueue< Message * > * outQueue, WireConnectionSink * wiresink)
virtual~TransportImpl()
virtual Message *pollQueue(bool nonblocking) override
virtual voidpushQueue(Message * dgram) override
booltryPushQueue(Message * dgram)
ConnectionStateconnectionState()
virtual uint32_twireId() const override
virtual Wire *wire() const override
virtual intconnect() override
virtual intlatency_us() override
virtual voidshutdown() override
virtual boolisConnected() override
virtual boolisShutdown() override
virtual boolisShuttingDown() override
int8_tsendDatagram(Message * d)
intprocessBuffer(unsigned char * receiveBuffer, unsigned int buflen, Message ** d)
virtual voidonWireDisconnect(void ) override

Protected Functions

Name
voidstart()

Public Attributes

Name
flakeMutexId_tm_wireMutex

Protected Attributes

Name
volatile ConnectionStatem_connectionState
ThreadQueue< Message * > *m_dgramOutQueue
ThreadQueue< Message * > &m_dgramInQueue
WireConnectionSink *m_wireConnectionSink
intm_pingCount
uint32_tm_lastDgramTimestamp

Friends

Name
classRouter

Additional inherited members

Public Functions inherited from flake::Transport

Name
virtual voidonWireConnect() =0
virtual voidref() =0
virtual voidunref() =0

Public Functions Documentation

function TransportImpl

cpp
TransportImpl(
    Wire * w,
    ThreadQueue< Message * > & inQueue,
    ThreadQueue< Message * > * outQueue,
    WireConnectionSink * wiresink
)

function ~TransportImpl

cpp
virtual ~TransportImpl()

function pollQueue

cpp
virtual Message * pollQueue(
    bool nonblocking
) override

Reimplements: flake::Transport::pollQueue

function pushQueue

cpp
virtual void pushQueue(
    Message * dgram
) override

Reimplements: flake::Transport::pushQueue

function tryPushQueue

cpp
bool tryPushQueue(
    Message * dgram
)

function connectionState

cpp
ConnectionState connectionState()

function wireId

cpp
virtual uint32_t wireId() const override

Reimplements: flake::Transport::wireId

function wire

cpp
virtual Wire * wire() const override

Reimplements: flake::Transport::wire

function connect

cpp
virtual int connect() override

Reimplements: flake::Transport::connect

function latency_us

cpp
virtual int latency_us() override

Reimplements: flake::Transport::latency_us

function shutdown

cpp
virtual void shutdown() override

Reimplements: flake::Transport::shutdown

function isConnected

cpp
virtual bool isConnected() override

Reimplements: flake::Transport::isConnected

function isShutdown

cpp
virtual bool isShutdown() override

Reimplements: flake::Transport::isShutdown

function isShuttingDown

cpp
virtual bool isShuttingDown() override

Reimplements: flake::Transport::isShuttingDown

function sendDatagram

cpp
int8_t sendDatagram(
    Message * d
)

function processBuffer

cpp
int processBuffer(
    unsigned char * receiveBuffer,
    unsigned int buflen,
    Message ** d
)

function onWireDisconnect

cpp
virtual void onWireDisconnect(
    void 
) override

Reimplements: flake::Transport::onWireDisconnect

Protected Functions Documentation

function start

cpp
void start()

Public Attributes Documentation

variable m_wireMutex

cpp
flakeMutexId_t flake::TransportImpl::m_wireMutex

Protected Attributes Documentation

variable m_connectionState

cpp
volatile ConnectionState flake::TransportImpl::m_connectionState

variable m_dgramOutQueue

cpp
ThreadQueue<Message*>* flake::TransportImpl::m_dgramOutQueue

variable m_dgramInQueue

cpp
ThreadQueue<Message*>& flake::TransportImpl::m_dgramInQueue

variable m_wireConnectionSink

cpp
WireConnectionSink* flake::TransportImpl::m_wireConnectionSink

variable m_pingCount

cpp
int flake::TransportImpl::m_pingCount

variable m_lastDgramTimestamp

cpp
uint32_t flake::TransportImpl::m_lastDgramTimestamp

Friends

friend Router

cpp
friend class Router(
    Router 
);