30#ifndef INCLUDE_OLA_IO_NONBLOCKINGSENDER_H_
31#define INCLUDE_OLA_IO_NONBLOCKINGSENDER_H_
34#include <ola/io/IOQueue.h>
35#include <ola/io/MemoryBlockPool.h>
36#include <ola/io/OutputBuffer.h>
37#include <ola/io/SelectServerInterface.h>
120 unsigned int m_max_buffer_size;
123 void AssociateIfRequired();
A BidirectionalFileDescriptor that also generates notifications when closed.
Definition Descriptor.h:283
MemoryBlockPool. This class is not thread safe.
Definition MemoryBlockPool.h:35
Write data to ConnectedDescriptors without blocking or losing data.
Definition NonBlockingSender.h:57
~NonBlockingSender()
Destructor.
Definition NonBlockingSender.cpp:43
bool LimitReached() const
Check if the limit for the internal buffer has been reached.
Definition NonBlockingSender.cpp:50
static const unsigned int DEFAULT_MAX_BUFFER_SIZE
The default max internal buffer size.
Definition NonBlockingSender.h:113
bool SendMessage(class IOStack *stack)
Send the contents of an IOStack on the ConnectedDescriptor.
Definition NonBlockingSender.cpp:54
NonBlockingSender(ola::io::ConnectedDescriptor *descriptor, ola::io::SelectServerInterface *ss, ola::io::MemoryBlockPool *memory_pool, unsigned int max_buffer_size=DEFAULT_MAX_BUFFER_SIZE)
Create a new NonBlockingSender.
Definition NonBlockingSender.cpp:30
The interface for the SelectServer.
Definition SelectServerInterface.h:42
The namespace containing all OLA symbols.
Definition Credentials.cpp:44