Sese Framework
2.3.0
A cross-platform framework
|
Completion port operation context based on sese-event. More...
#include <IOCPServer_V1.h>
Public Member Functions | |
int64_t | read (void *buffer, size_t length) override |
int64_t | write (const void *buffer, size_t length) override |
int64_t | peek (void *buffer, size_t length) override |
int64_t | trunc (size_t length) override |
int32_t | getFd () const |
void * | getData () const |
void | setData (void *p_data) |
Public Member Functions inherited from sese::io::InputStream | |
virtual | ~InputStream () noexcept=default |
Public Member Functions inherited from sese::io::OutputStream | |
virtual | ~OutputStream () noexcept=default |
int64_t | write (const std::string_view &buffer) |
int64_t | write (const text::StringView &buffer) |
template<typename T > | |
int64_t | write (std::vector< T > &buffer) |
template<typename T , size_t N> | |
int64_t | write (std::array< T, N > &buffer) |
Public Member Functions inherited from sese::io::PeekableStream | |
virtual | ~PeekableStream ()=default |
Private Attributes | |
IOCPServer * | self {} |
IOCPService * | client {} |
socket_t | fd {0} |
void * | ssl {} |
bool | isConn {false} |
event::BaseEvent * | event {} |
service::v2::TimeoutEvent * | timeoutEvent {} |
io::ByteBuilder | send {8192, 8192} |
io::ByteBuilder | recv {8192, 8192} |
void * | data {} |
Friends | |
class | IOCPServer |
class | IOCPService |
Additional Inherited Members | |
Public Types inherited from sese::io::InputStream | |
typedef std::shared_ptr< InputStream > | Ptr |
Public Types inherited from sese::io::OutputStream | |
typedef std::shared_ptr< OutputStream > | Ptr |
Public Types inherited from sese::io::PeekableStream | |
typedef std::shared_ptr< PeekableStream > | Ptr |
Completion port operation context based on sese-event.
|
inlinenodiscard |
|
inlinenodiscard |
|
overridevirtual |
Read content from the current connection without advancing
buffer | Buffer |
length | Size of buffer |
Implements sese::io::PeekableStream.
References sese::io::AbstractByteBuffer::peek(), and recv.
|
overridevirtual |
Read content from the current connection
buffer | Buffer |
length | Size of buffer |
Implements sese::io::InputStream.
References sese::io::AbstractByteBuffer::read(), and recv.
|
inline |
|
overridevirtual |
Advance in the current connection without reading content
length | Advance size |
Implements sese::io::PeekableStream.
References recv, and sese::io::AbstractByteBuffer::trunc().
|
overridevirtual |
Write content to the current connection
buffer | Buffer |
length | Size of buffer |
Implements sese::io::OutputStream.
References send, and sese::io::AbstractByteBuffer::write().
|
friend |
|
friend |
|
private |
Referenced by sese::iocp::v1::IOCPServer::cancelTimeout(), sese::iocp::v1::IOCPServer::postClose(), sese::iocp::v1::IOCPServer::postRead(), sese::iocp::v1::IOCPServer::postWrite(), sese::iocp::v1::IOCPServer::preConnectCallback(), sese::iocp::v1::IOCPService::releaseContext(), and sese::iocp::v1::IOCPServer::setTimeout().
|
private |
|
private |
|
private |
|
private |
|
private |
Referenced by sese::iocp::v1::IOCPService::onAccept(), sese::iocp::v1::IOCPService::onAcceptCompleted(), sese::iocp::v1::IOCPService::onAlpnGet(), sese::iocp::v1::IOCPService::onConnected(), sese::iocp::v1::IOCPService::onPreRead(), sese::iocp::v1::IOCPService::onReadCompleted(), sese::iocp::v1::IOCPService::onTimeout(), sese::iocp::v1::IOCPService::onWriteCompleted(), and sese::iocp::v1::IOCPService::releaseContext().
|
private |
Referenced by write().
|
private |
Referenced by sese::iocp::v1::IOCPService::releaseContext().
|
private |