Stream provider using sockets and using poll. More...
Public Member Functions | |
| virtual void | Die () |
| Make this provider go away. | |
| void | tidy () |
| Tidy up - close connections etc. | |
| virtual endpoint_t | GetEndpoint (bool inheriting) |
| Get the endpoint ID. | |
| virtual unsigned | Events () |
| Get the events. | |
| virtual int | GetLocalAddress (struct sockaddr *laddr, socklen_t *lalenp, MSGstruct *msp) |
| Get the local address. | |
| virtual int | GetPeerAddress (struct sockaddr *laddr, socklen_t *lalenp, MSGstruct *msp) |
| Get the peer address. | |
| virtual TLS_CipherSuite | GetCipherSuite () |
| Get the cipher suite. | |
| virtual X509 * | GetPeerCertificate () |
| Get the peer certificate. | |
| virtual SocketPoll * | Clone ()=0 |
| Make another provider like this one. | |
| void | actualDeliver (time_t *msg) |
| Handle timer event. | |
| void | actualDeliver (::Poll::pollmsg *msg) |
| Actual Deliver events to Poll provider. | |
| void | actualDeliver (External *ext) |
| Set external. | |
| void | actualDeliver (ConnectRequest *req) |
| connect | |
| void | actualDeliver (ListenRequest *req) |
| listen | |
| void | actualDeliver (ConnectAccept *req) |
| accept | |
| void | actualDeliver (DisconnectRequest *req) |
| disconnect | |
| void | actualDeliver (DataRequest *req) |
| send data | |
| void | actualDeliver (ReadRequest *req) |
| ReadRequest. | |
| void | actualDeliver (StartTLS *req) |
| Start SSL/TLS on stream. | |
| void | actualDeliver (StreamControl *option) |
| Control stream. | |
| virtual void | Deliver (time_t *msg) |
| Handle timer event. | |
| virtual void | Deliver (::Poll::pollmsg *msg) |
| Deliver events to Poll provider. | |
| virtual void | Deliver (External *ext) |
| Set external. | |
| virtual void | Deliver (ConnectRequest *req) |
| connect | |
| virtual void | Deliver (ListenRequest *req) |
| listen | |
| virtual void | Deliver (ConnectAccept *req) |
| accept | |
| virtual void | Deliver (DisconnectRequest *req) |
| disconnect | |
| virtual void | Deliver (DataRequest *req) |
| send data | |
| virtual void | Deliver (ReadRequest *req) |
| Read request. | |
| virtual void | Deliver (StartTLS *req) |
| Start SSL/TLS on stream. | |
| virtual void | Deliver (StreamControl *option) |
| Control stream. | |
| virtual void | Deliver (LengthFnxRequest *) |
| Set length function. | |
Public Member Functions inherited from Stream::Provider | |
| Provider () | |
| The user of this provider. | |
| virtual | ~Provider () |
| Destructor should be virtual. | |
| void | SetUser (User *u) |
| set the user | |
| User * | GetUser () |
| get the user | |
Public Member Functions inherited from Poll::User | |
| User () | |
| User's view of events. | |
| virtual | ~User () |
| Destructor is virtual. | |
| virtual void | Deliver (pollmsg *msg)=0 |
| Deliver events to Poll user. | |
| virtual void | actualDeliver (pollmsg *msg)=0 |
| Deliver events to Poll user. | |
Additional Inherited Members | |
Static Public Member Functions inherited from Stream::Provider | |
| static EVENTSVC_DLL Provider * | ProviderFactory (const char *type, MSGstruct *msp) |
| Factory method for Stream provider. | |
Data Fields inherited from Poll::User | |
| UserEvent | _event |
| endpoint_t | _fd |
| Event to User. | |
| unsigned | _pevents |
| FD for this user. | |
| unsigned | _uevents |
| Provider's view of events. | |
Detailed Description
Stream provider using sockets and using poll.
Definition at line 40 of file stream_socket_poll.C.
Constructor & Destructor Documentation
◆ ~SocketPoll()
|
inlineprotectedvirtual |
Definition at line 140 of file stream_socket_poll.C.
◆ SocketPoll()
|
inline |
Definition at line 145 of file stream_socket_poll.C.
Member Function Documentation
◆ Die()
|
inlinevirtual |
Make this provider go away.
Implements Stream::Provider.
Definition at line 162 of file stream_socket_poll.C.
◆ tidy()
|
inline |
Tidy up - close connections etc.
Definition at line 167 of file stream_socket_poll.C.
References Poll::User::_fd, Poll::Provider::Deregister(), and Stream::Provider::SetUser().
◆ GetEndpoint()
|
inlinevirtual |
Get the endpoint ID.
Implements Stream::Provider.
Definition at line 216 of file stream_socket_poll.C.
References Poll::User::_fd.
◆ Events()
|
inlinevirtual |
Get the events.
Implements Stream::Provider.
Definition at line 242 of file stream_socket_poll.C.
References Poll::User::_uevents.
◆ GetLocalAddress()
|
inlinevirtual |
Get the local address.
Implements Stream::Provider.
Definition at line 247 of file stream_socket_poll.C.
References Poll::User::_fd.
◆ GetPeerAddress()
|
inlinevirtual |
Get the peer address.
Implements Stream::Provider.
Definition at line 274 of file stream_socket_poll.C.
References Poll::User::_fd.
◆ GetCipherSuite()
|
inlinevirtual |
Get the cipher suite.
Reimplemented from Stream::Provider.
Definition at line 301 of file stream_socket_poll.C.
◆ GetPeerCertificate()
|
inlinevirtual |
Get the peer certificate.
Reimplemented from Stream::Provider.
Definition at line 310 of file stream_socket_poll.C.
◆ actualDeliver() [1/9]
| void SocketPoll::actualDeliver | ( | time_t * | msg | ) |
Handle timer event.
Definition at line 1219 of file stream_socket_poll.C.
Referenced by Deliver(), Deliver(), Deliver(), Deliver(), Deliver(), Deliver(), Deliver(), Deliver(), Deliver(), Deliver(), and Deliver().
◆ actualDeliver() [2/9]
| void SocketPoll::actualDeliver | ( | ::Poll::pollmsg * | msg | ) |
Actual Deliver events to Poll provider.
Definition at line 1225 of file stream_socket_poll.C.
◆ actualDeliver() [3/9]
| void SocketPoll::actualDeliver | ( | Stream::External * | ext | ) |
Set external.
Definition at line 1351 of file stream_socket_poll.C.
References Stream::External::listen.
◆ actualDeliver() [4/9]
| void SocketPoll::actualDeliver | ( | Stream::ConnectRequest * | req | ) |
connect
Definition at line 1377 of file stream_socket_poll.C.
References Stream::ConnectRequest::dalen, Stream::ConnectRequest::dscp, Stream::ConnectRequest::saddr, and Stream::ConnectRequest::salen.
◆ actualDeliver() [5/9]
| void SocketPoll::actualDeliver | ( | Stream::ListenRequest * | req | ) |
listen
Definition at line 1559 of file stream_socket_poll.C.
References Stream::ListenRequest::backlog, and Stream::ListenRequest::lalen.
◆ actualDeliver() [6/9]
| void SocketPoll::actualDeliver | ( | Stream::DataRequest * | req | ) |
send data
Definition at line 1743 of file stream_socket_poll.C.
References Stream::DataRequest::len, and Stream::ReleaseBuf::len.
◆ actualDeliver() [7/9]
| void SocketPoll::actualDeliver | ( | Stream::ReadRequest * | req | ) |
Definition at line 1806 of file stream_socket_poll.C.
References Stream::ReadRequest::fill, Stream::ReadRequest::len, and Stream::DataIndication::len.
◆ actualDeliver() [8/9]
| void SocketPoll::actualDeliver | ( | Stream::StartTLS * | req | ) |
Start SSL/TLS on stream.
Definition at line 1875 of file stream_socket_poll.C.
References Stream::StartTLS::client, and Stream::StartTLS::hostname.
◆ actualDeliver() [9/9]
| void SocketPoll::actualDeliver | ( | Stream::StreamControl * | option | ) |
Control stream.
Definition at line 1936 of file stream_socket_poll.C.
References Stream::StreamControlKeepAlive, Stream::StreamControlTOS, and Stream::StreamControl::value.
◆ Deliver() [1/12]
|
inlinevirtual |
Handle timer event.
Definition at line 359 of file stream_socket_poll.C.
References actualDeliver().
◆ Deliver() [2/12]
|
inlinevirtual |
Deliver events to Poll provider.
Definition at line 366 of file stream_socket_poll.C.
References actualDeliver().
◆ Deliver() [3/12]
|
inlinevirtual |
Set external.
Implements Stream::Provider.
Definition at line 372 of file stream_socket_poll.C.
References actualDeliver().
◆ Deliver() [4/12]
|
inlinevirtual |
connect
Implements Stream::Provider.
Definition at line 377 of file stream_socket_poll.C.
References actualDeliver().
◆ Deliver() [5/12]
|
inlinevirtual |
listen
Implements Stream::Provider.
Definition at line 382 of file stream_socket_poll.C.
References actualDeliver().
◆ Deliver() [6/12]
|
inlinevirtual |
accept
Implements Stream::Provider.
Definition at line 387 of file stream_socket_poll.C.
References actualDeliver().
◆ Deliver() [7/12]
|
inlinevirtual |
disconnect
Implements Stream::Provider.
Definition at line 392 of file stream_socket_poll.C.
References actualDeliver().
◆ Deliver() [8/12]
|
inlinevirtual |
send data
Implements Stream::Provider.
Definition at line 397 of file stream_socket_poll.C.
References actualDeliver().
◆ Deliver() [9/12]
|
inlinevirtual |
Read request.
Implements Stream::Provider.
Definition at line 402 of file stream_socket_poll.C.
References actualDeliver().
◆ Deliver() [10/12]
|
inlinevirtual |
Start SSL/TLS on stream.
Implements Stream::Provider.
Definition at line 407 of file stream_socket_poll.C.
References actualDeliver().
◆ Deliver() [11/12]
|
inlinevirtual |
Control stream.
Implements Stream::Provider.
Definition at line 412 of file stream_socket_poll.C.
References actualDeliver().
◆ Deliver() [12/12]
|
inlinevirtual |
Set length function.
Implements Stream::Provider.
Definition at line 417 of file stream_socket_poll.C.
The documentation for this class was generated from the following file:
Public Member Functions inherited from