Deskflow 1.22.0.197
Keyboard and mouse sharing utility
|
Packetizing stream filter. More...
#include <PacketStreamFilter.h>
Public Member Functions | |
PacketStreamFilter (IEventQueue *events, deskflow::IStream *stream, bool adoptStream=true) | |
~PacketStreamFilter () override=default | |
void | close () override |
Close the stream. | |
uint32_t | read (void *buffer, uint32_t n) override |
Read from stream. | |
void | write (const void *buffer, uint32_t n) override |
Write to stream. | |
void | shutdownInput () override |
Shutdown input. | |
bool | isReady () const override |
Test if read() will succeed. | |
uint32_t | getSize () const override |
Get bytes available to read. | |
Public Member Functions inherited from StreamFilter | |
StreamFilter (IEventQueue *events, deskflow::IStream *stream, bool adoptStream=true) | |
StreamFilter (StreamFilter const &)=delete | |
StreamFilter (StreamFilter &&)=delete | |
~StreamFilter () override | |
StreamFilter & | operator= (StreamFilter const &)=delete |
StreamFilter & | operator= (StreamFilter &&)=delete |
void | close () override |
Close the stream. | |
uint32_t | read (void *buffer, uint32_t n) override |
Read from stream. | |
void | write (const void *buffer, uint32_t n) override |
Write to stream. | |
void | flush () override |
Flush the stream. | |
void | shutdownInput () override |
Shutdown input. | |
void | shutdownOutput () override |
Shutdown output. | |
void * | getEventTarget () const override |
Get event target. | |
bool | isReady () const override |
Test if read() will succeed. | |
uint32_t | getSize () const override |
Get bytes available to read. | |
deskflow::IStream * | getStream () const |
Get the stream. | |
Public Member Functions inherited from deskflow::IStream | |
IStream ()=default | |
Public Member Functions inherited from IInterface | |
virtual | ~IInterface ()=default |
Interface destructor does nothing. |
Protected Member Functions | |
void | filterEvent (const Event &) override |
Handle events from source stream. |
Packetizing stream filter.
Filters a stream to read and write packets.
PacketStreamFilter::PacketStreamFilter | ( | IEventQueue * | events, |
deskflow::IStream * | stream, | ||
bool | adoptStream = true ) |
|
overridedefault |
|
overridevirtual |
Close the stream.
Closes the stream. Pending input data and buffered output data are discarded. Use flush()
before close()
to send buffered output data. Attempts to read()
after a close return 0, attempts to write()
generate output error events, and attempts to flush()
return immediately.
Implements deskflow::IStream.
|
overrideprotectedvirtual |
Handle events from source stream.
Does the event filtering. The default simply dispatches an event identical except using this object as the event target.
Reimplemented from StreamFilter.
|
overridevirtual |
Get bytes available to read.
Returns a conservative estimate of the available bytes to read (i.e. a number not greater than the actual number of bytes). Some streams may not be able to determine this and will always return zero.
Implements deskflow::IStream.
|
overridevirtual |
Test if read()
will succeed.
Returns true iff an immediate read()
will return data. This may or may not be the same as getSize()
> 0, depending on the stream type.
Implements deskflow::IStream.
|
overridevirtual |
Read from stream.
Read up to n
bytes into buffer
, returning the number read (zero if no data is available or input is shutdown). buffer
may be nullptr in which case the data is discarded.
Implements deskflow::IStream.
|
overridevirtual |
Shutdown input.
Shutdown the input side of the stream. Any pending input data is discarded and further reads immediately return 0.
Implements deskflow::IStream.
|
overridevirtual |
Write to stream.
Write n
bytes from buffer
to the stream. If this can't complete immediately it will block. Data may be buffered in order to return more quickly. A output error event is generated when writing fails.
Implements deskflow::IStream.