16 #ifndef DABC_LocalTransport
17 #define DABC_LocalTransport
23 #ifndef DABC_BuffersQueue
31 class LocalTransportRef;
122 void Disconnect(
bool isinp,
bool witherr =
false);
#define DABC_REFERENCE(RefClass, ParentClass, T)
Reference on memory from memory pool.
BufferSize_t TotalBuffersSize() const
unsigned Capacity() const
Buffer Item(unsigned n) const
Returns reference on the Buffer in the queue, one can create any kind of buffer copies from it.
Represents command with its arguments.
Reference on the dabc::LocalTransport
bool SubmitCommandTo(bool to_input, Command cmd)
void ConfirmEvent(bool isoutput)
unsigned NumCanSend() const
BufferSize_t TotalBuffersSize() const
void Disconnect(bool isinp, bool witherr=false)
Buffer Item(unsigned indx) const
void PortActivated(int itemkind, bool on)
Transport between two ports on the same node
void Disconnect(bool isinp, bool witherr=false)
bool fBlockWhenConnected
should queue block when input port connected, default true
void SetConnected(bool isinp)
Buffer Item(unsigned indx) const
bool CanSend() const
Returns true when send operation will add buffer into the queue When queue is not connected,...
bool fBlockWhenUnconnected
should queue block when input port not connected, default false
static int ConnectPorts(Reference port1ref, Reference port2ref, Command cmd=nullptr)
BufferSize_t TotalBuffersSize() const
virtual ~LocalTransport()
unsigned NumCanSend() const
How many buffers can be add to the queue.
unsigned Capacity() const
void ConfirmEvent(bool isoutput)
LocalTransport(unsigned capacity, bool withmutex)
Mutex * QueueMutex() const
void PortActivated(int itemkind, bool on)
Lock guard for posix mutex.
Base class for most of the DABC classes.
Mutex * ObjectMutex() const
Returns mutex, used for protection of Object data members.
Base class for input and output ports.
Reference on the arbitrary object
void Release()
Releases reference on the object.
Object * GetObject() const
Return pointer on the object.
Reference on dabc::Worker