Network System 0.1.1
High-performance modular networking library for scalable client-server applications
Loading...
Searching...
No Matches
kcenon::network::interfaces::i_quic_session Interface Referenceabstract

Interface for a QUIC session on the server side. More...

#include <i_quic_server.h>

Inheritance diagram for kcenon::network::interfaces::i_quic_session:
Inheritance graph
Collaboration diagram for kcenon::network::interfaces::i_quic_session:
Collaboration graph

Public Member Functions

virtual auto create_stream () -> Result< uint64_t >=0
 Creates a new server-initiated bidirectional stream.
 
virtual auto create_unidirectional_stream () -> Result< uint64_t >=0
 Creates a new server-initiated unidirectional stream.
 
virtual auto send_on_stream (uint64_t stream_id, std::vector< uint8_t > &&data, bool fin=false) -> VoidResult=0
 Sends data on a specific stream.
 
virtual auto close_stream (uint64_t stream_id) -> VoidResult=0
 Closes a stream.
 
- Public Member Functions inherited from kcenon::network::interfaces::i_session
virtual ~i_session ()=default
 Virtual destructor for proper cleanup.
 
 i_session (const i_session &)=delete
 
i_sessionoperator= (const i_session &)=delete
 
 i_session (i_session &&)=delete
 
i_sessionoperator= (i_session &&)=delete
 
virtual auto id () const -> std::string_view=0
 Gets the unique identifier for this session.
 
virtual auto is_connected () const -> bool=0
 Checks if the session is currently connected.
 
virtual auto send (std::vector< uint8_t > &&data) -> VoidResult=0
 Sends data to the client.
 
virtual auto close () -> void=0
 Closes the session.
 

Additional Inherited Members

- Protected Member Functions inherited from kcenon::network::interfaces::i_session
 i_session ()=default
 Default constructor (only for derived classes)
 

Detailed Description

Interface for a QUIC session on the server side.

This interface extends i_session with QUIC-specific operations such as multi-stream support.

Definition at line 31 of file i_quic_server.h.

Member Function Documentation

◆ close_stream()

virtual auto kcenon::network::interfaces::i_quic_session::close_stream ( uint64_t stream_id) -> VoidResult
nodiscardpure virtual

Closes a stream.

Parameters
stream_idThe stream to close.
Returns
VoidResult indicating success or failure.

Implemented in kcenon::network::session::quic_session.

◆ create_stream()

virtual auto kcenon::network::interfaces::i_quic_session::create_stream ( ) -> Result< uint64_t >
nodiscardpure virtual

Creates a new server-initiated bidirectional stream.

Returns
Stream ID or error.

Implemented in kcenon::network::session::quic_session.

◆ create_unidirectional_stream()

virtual auto kcenon::network::interfaces::i_quic_session::create_unidirectional_stream ( ) -> Result< uint64_t >
nodiscardpure virtual

Creates a new server-initiated unidirectional stream.

Returns
Stream ID or error.

Implemented in kcenon::network::session::quic_session.

◆ send_on_stream()

virtual auto kcenon::network::interfaces::i_quic_session::send_on_stream ( uint64_t stream_id,
std::vector< uint8_t > && data,
bool fin = false ) -> VoidResult
nodiscardpure virtual

Sends data on a specific stream.

Parameters
stream_idThe target stream ID.
dataThe data to send.
finTrue if this is the final data on the stream.
Returns
VoidResult indicating success or failure.

Implemented in kcenon::network::session::quic_session.


The documentation for this interface was generated from the following file: