dius 0.1.0
Loading...
Searching...
No Matches
dius::linux::AsyncSocket< Base > Class Template Reference

#include <platform/linux/dius/linux/io_uring_context.h>

Inheritance diagram for dius::linux::AsyncSocket< Base >:

Public Member Functions

template<typename... Args>
requires (di::concepts::ConstructibleFrom<Base, Args...>)
 AsyncSocket (IoUringContext *context, Args &&... args)
 
auto parent () const -> IoUringContext *
 
auto fd () const -> int
 
void set_fd (int fd)
 

Friends

auto tag_invoke (di::Tag< di::execution::async_read_some >, AsyncSocket &self, di::Span< di::Byte > buffer, di::Optional< u64 >)
 
auto tag_invoke (di::Tag< di::execution::async_write_some >, AsyncSocket &self, di::Span< di::Byte const > buffer, di::Optional< u64 >)
 
auto tag_invoke (di::Tag< di::execution::async_bind >, AsyncSocket &self, net::UnixAddress address)
 
auto tag_invoke (di::Tag< di::execution::async_connect >, AsyncSocket &self, net::UnixAddress address)
 
auto tag_invoke (di::Tag< di::execution::async_listen >, AsyncSocket &self, int count)
 
auto tag_invoke (di::Tag< di::execution::async_shutdown >, AsyncSocket &self, net::Shutdown how)
 
auto tag_invoke (di::Tag< di::execution::async_accept >, AsyncSocket &self)
 

Constructor & Destructor Documentation

◆ AsyncSocket()

template<typename Base>
template<typename... Args>
requires (di::concepts::ConstructibleFrom<Base, Args...>)
dius::linux::AsyncSocket< Base >::AsyncSocket ( IoUringContext * context,
Args &&... args )
inlineexplicit

Member Function Documentation

◆ fd()

template<typename Base>
auto dius::linux::AsyncSocket< Base >::fd ( ) const -> int
inline

◆ parent()

template<typename Base>
auto dius::linux::AsyncSocket< Base >::parent ( ) const -> IoUringContext*
inline

◆ set_fd()

template<typename Base>
void dius::linux::AsyncSocket< Base >::set_fd ( int fd)
inline

Friends And Related Symbol Documentation

◆ tag_invoke [1/7]

template<typename Base>
auto tag_invoke ( di::Tag< di::execution::async_accept > ,
AsyncSocket< Base > & self )
friend

◆ tag_invoke [2/7]

template<typename Base>
auto tag_invoke ( di::Tag< di::execution::async_bind > ,
AsyncSocket< Base > & self,
net::UnixAddress address )
friend

◆ tag_invoke [3/7]

template<typename Base>
auto tag_invoke ( di::Tag< di::execution::async_connect > ,
AsyncSocket< Base > & self,
net::UnixAddress address )
friend

◆ tag_invoke [4/7]

template<typename Base>
auto tag_invoke ( di::Tag< di::execution::async_listen > ,
AsyncSocket< Base > & self,
int count )
friend

◆ tag_invoke [5/7]

template<typename Base>
auto tag_invoke ( di::Tag< di::execution::async_read_some > ,
AsyncSocket< Base > & self,
di::Span< di::Byte > buffer,
di::Optional< u64 >  )
friend

◆ tag_invoke [6/7]

template<typename Base>
auto tag_invoke ( di::Tag< di::execution::async_shutdown > ,
AsyncSocket< Base > & self,
net::Shutdown how )
friend

◆ tag_invoke [7/7]

template<typename Base>
auto tag_invoke ( di::Tag< di::execution::async_write_some > ,
AsyncSocket< Base > & self,
di::Span< di::Byte const > buffer,
di::Optional< u64 >  )
friend

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