Stream provider using sockets and using poll. More...
Public Member Functions | |
| void | Die () override |
| Make this provider go away. | |
| void | tidy () |
| Tidy up - close connections etc. | |
| endpoint_t | GetEndpoint (bool inheriting) override |
| Get the endpoint ID. | |
| unsigned | Events () override |
| Get the events. | |
| int | GetLocalAddress (struct sockaddr *laddr, socklen_t *lalenp, MSGstruct *msp) override |
| Get the local address. | |
| int | GetPeerAddress (struct sockaddr *laddr, socklen_t *lalenp, MSGstruct *msp) override |
| Get the peer address. | |
| TLS_CipherSuite | GetCipherSuite () override |
| Get the cipher suite. | |
| X509 * | GetPeerCertificate () override |
| 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) override |
| 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. | |
| void | Deliver (::Poll::pollmsg *msg) override |
| Deliver events to Poll provider. | |
| void | Deliver (External *ext) override |
| Set external. | |
| void | Deliver (ConnectRequest *req) override |
| connect | |
| void | Deliver (ListenRequest *req) override |
| listen | |
| void | Deliver (ConnectAccept *req) override |
| accept | |
| void | Deliver (DisconnectRequest *req) override |
| disconnect | |
| void | Deliver (DataRequest *req) override |
| send data | |
| void | Deliver (ReadRequest *req) override |
| Read request. | |
| void | Deliver (StartTLS *req) override |
| Start SSL/TLS on stream. | |
| void | Deliver (StreamControl *option) override |
| Control stream. | |
| void | Deliver (LengthFnxRequest *) override |
| 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. | |
| ~User () override | |
| 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 67 of file stream_socket_poll.C.
Constructor & Destructor Documentation
◆ ~SocketPoll()
|
inlineoverrideprotected |
Definition at line 183 of file stream_socket_poll.C.
◆ SocketPoll()
|
inline |
Definition at line 188 of file stream_socket_poll.C.
Member Function Documentation
◆ Die()
|
inlineoverridevirtual |
Make this provider go away.
Implements Stream::Provider.
Definition at line 205 of file stream_socket_poll.C.
◆ tidy()
|
inline |
Tidy up - close connections etc.
Definition at line 210 of file stream_socket_poll.C.
References Poll::User::_fd, Poll::Provider::Deregister(), and Stream::Provider::SetUser().
◆ GetEndpoint()
|
inlineoverridevirtual |
Get the endpoint ID.
Implements Stream::Provider.
Definition at line 259 of file stream_socket_poll.C.
References Poll::User::_fd.
◆ Events()
|
inlineoverridevirtual |
Get the events.
Implements Stream::Provider.
Definition at line 285 of file stream_socket_poll.C.
References Poll::User::_uevents.
◆ GetLocalAddress()
|
inlineoverridevirtual |
Get the local address.
Implements Stream::Provider.
Definition at line 290 of file stream_socket_poll.C.
References Poll::User::_fd.
◆ GetPeerAddress()
|
inlineoverridevirtual |
Get the peer address.
Implements Stream::Provider.
Definition at line 317 of file stream_socket_poll.C.
References Poll::User::_fd.
◆ GetCipherSuite()
|
inlineoverridevirtual |
Get the cipher suite.
Reimplemented from Stream::Provider.
Definition at line 344 of file stream_socket_poll.C.
◆ GetPeerCertificate()
|
inlineoverridevirtual |
Get the peer certificate.
Reimplemented from Stream::Provider.
Definition at line 353 of file stream_socket_poll.C.
◆ actualDeliver() [1/9]
| void SocketPoll::actualDeliver | ( | time_t * | msg | ) |
Handle timer event.
Definition at line 1541 of file stream_socket_poll.C.
Referenced by Deliver(), Deliver(), Deliver(), Deliver(), Deliver(), Deliver(), Deliver(), Deliver(), Deliver(), Deliver(), and Deliver().
◆ actualDeliver() [2/9]
|
override |
Actual Deliver events to Poll provider.
Definition at line 1547 of file stream_socket_poll.C.
◆ actualDeliver() [3/9]
| void SocketPoll::actualDeliver | ( | Stream::External * | ext | ) |
Set external.
Definition at line 1681 of file stream_socket_poll.C.
References Stream::External::listen.
◆ actualDeliver() [4/9]
| void SocketPoll::actualDeliver | ( | Stream::ConnectRequest * | req | ) |
connect
Definition at line 1707 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 1888 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 2073 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 2140 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 2212 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 2273 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 402 of file stream_socket_poll.C.
References actualDeliver().
◆ Deliver() [2/12]
|
inlineoverride |
Deliver events to Poll provider.
Definition at line 409 of file stream_socket_poll.C.
References actualDeliver().
◆ Deliver() [3/12]
|
inlineoverridevirtual |
Set external.
Implements Stream::Provider.
Definition at line 415 of file stream_socket_poll.C.
References actualDeliver().
◆ Deliver() [4/12]
|
inlineoverridevirtual |
connect
Implements Stream::Provider.
Definition at line 420 of file stream_socket_poll.C.
References actualDeliver().
◆ Deliver() [5/12]
|
inlineoverridevirtual |
listen
Implements Stream::Provider.
Definition at line 425 of file stream_socket_poll.C.
References actualDeliver().
◆ Deliver() [6/12]
|
inlineoverridevirtual |
accept
Implements Stream::Provider.
Definition at line 430 of file stream_socket_poll.C.
References actualDeliver().
◆ Deliver() [7/12]
|
inlineoverridevirtual |
disconnect
Implements Stream::Provider.
Definition at line 435 of file stream_socket_poll.C.
References actualDeliver().
◆ Deliver() [8/12]
|
inlineoverridevirtual |
send data
Implements Stream::Provider.
Definition at line 440 of file stream_socket_poll.C.
References actualDeliver().
◆ Deliver() [9/12]
|
inlineoverridevirtual |
Read request.
Implements Stream::Provider.
Definition at line 445 of file stream_socket_poll.C.
References actualDeliver().
◆ Deliver() [10/12]
|
inlineoverridevirtual |
Start SSL/TLS on stream.
Implements Stream::Provider.
Definition at line 450 of file stream_socket_poll.C.
References actualDeliver().
◆ Deliver() [11/12]
|
inlineoverridevirtual |
Control stream.
Implements Stream::Provider.
Definition at line 455 of file stream_socket_poll.C.
References actualDeliver().
◆ Deliver() [12/12]
|
inlineoverridevirtual |
Set length function.
Implements Stream::Provider.
Definition at line 460 of file stream_socket_poll.C.
The documentation for this class was generated from the following file:
Public Member Functions inherited from