CCF
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
PendingIO< T > Struct Template Reference

Pending writes on both host and enclave, with data, length and destination address. More...

#include <pending_io.h>

Public Types

using free_cb_t = void(*)(T *)
 

Public Member Functions

 PendingIO (T *req_, size_t len_, sockaddr addr_, free_cb_t free_cb_=nullptr)
 
 PendingIO (PendingIO &&that)
 
PendingIO< T > & operator= (PendingIO &&that)
 
 ~PendingIO ()
 

Static Public Member Functions

static void clear_empty (std::vector< PendingIO< T > > &list)
 Clears a list of PendingIO<T> of all elements that were marked to remove (clear flag == true).
 

Public Attributes

T * req
 
size_t len
 
sockaddr addr
 
free_cb_t free_cb
 
bool clear
 

Detailed Description

template<class T>
struct PendingIO< T >

Pending writes on both host and enclave, with data, length and destination address.

Template Parameters
Tuv_write_t for TCP and uv_udp_send_t for UDP send, uint8_t for receive.

The free_cb is called on destruction to free the request.

Member Typedef Documentation

◆ free_cb_t

template<class T >
using PendingIO< T >::free_cb_t = void (*)(T*)

Constructor & Destructor Documentation

◆ PendingIO() [1/2]

template<class T >
PendingIO< T >::PendingIO ( T *  req_,
size_t  len_,
sockaddr  addr_,
free_cb_t  free_cb_ = nullptr 
)
inline

◆ PendingIO() [2/2]

template<class T >
PendingIO< T >::PendingIO ( PendingIO< T > &&  that)
inline

◆ ~PendingIO()

template<class T >
PendingIO< T >::~PendingIO ( )
inline

Member Function Documentation

◆ clear_empty()

template<class T >
static void PendingIO< T >::clear_empty ( std::vector< PendingIO< T > > &  list)
inlinestatic

Clears a list of PendingIO<T> of all elements that were marked to remove (clear flag == true).

◆ operator=()

template<class T >
PendingIO< T > & PendingIO< T >::operator= ( PendingIO< T > &&  that)
inline

Member Data Documentation

◆ addr

template<class T >
sockaddr PendingIO< T >::addr

◆ clear

template<class T >
bool PendingIO< T >::clear

◆ free_cb

template<class T >
free_cb_t PendingIO< T >::free_cb

◆ len

template<class T >
size_t PendingIO< T >::len

◆ req

template<class T >
T* PendingIO< T >::req

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