Stream Namespace Reference

Interface between a user of a stream and the provider of a stream. More...

Data Structures

struct  ConnectAccept
 Accept a connection. More...
 
struct  ConnectIndication
 Connection indication. More...
 
struct  ConnectRequest
 Request a connection. More...
 
struct  DataIndication
 Data read from provider. More...
 
struct  DataRequest
 Information for sending data. More...
 
struct  DisconnectRequest
 Disconnect the stream. More...
 
struct  External
 Push an external endpoint into the provider. More...
 
struct  LengthFnxRequest
 Sets length function. More...
 
struct  ListenRequest
 Listen request. More...
 
class  Provider
 Provider of a stream interface. More...
 
struct  ReadRequest
 Data read from provider. More...
 
struct  ReleaseBuf
 Release buffer. More...
 
class  SocketPoll
 Stream provider using sockets and using poll. More...
 
struct  StartTLS
 Initiate SSL/TLS on the stream. More...
 
struct  StatusIndication
 Status indication. More...
 
struct  StreamControl
 
class  SyncSocketPoll
 Synchronised class. More...
 
class  User
 Virtual class defining interface to stream user. More...
 

Typedefs

typedef size_t LengthFnx(const char *buf)
 Typedef for datagram length function.
 

Enumerations

enum  StreamControlOption { StreamControlNoDelay , StreamControlKeepAlive , StreamControlTOS }
 Control the stream with various options. More...
 

Detailed Description

Interface between a user of a stream and the provider of a stream.

Typedef Documentation

◆ LengthFnx

typedef size_t Stream::LengthFnx(const char *buf)

Typedef for datagram length function.

Definition at line 120 of file StreamInterface.h.

Enumeration Type Documentation

◆ StreamControlOption

Control the stream with various options.

Enumerator
StreamControlKeepAlive 

No delay flag.

StreamControlTOS 

Keep alive flag.

Type of service flag

Definition at line 107 of file StreamInterface.h.

107 {
108 StreamControlNoDelay,
111 };
@ StreamControlTOS
Keep alive flag.
@ StreamControlKeepAlive
No delay flag.

All rights reserved © 2002 - 2024 Isode Ltd.