hobbes
a language, embedded compiler, and runtime for efficient dynamic expression evaluation, data storage and analysis
Public Types | Public Member Functions | Private Types | Private Attributes | List of all members
hobbes::net::AsyncRPCFunc< R(Args...)> Struct Template Reference

#include <net.H>

Inheritance diagram for hobbes::net::AsyncRPCFunc< R(Args...)>:
Inheritance graph
Collaboration diagram for hobbes::net::AsyncRPCFunc< R(Args...)>:
Collaboration graph

Public Types

typedef std::function< void(const R &)> K
 

Public Member Functions

 AsyncRPCFunc (AsyncScheduler *sched, int *socket, uint32_t exprid)
 
void operator() (const Args &... args, const K &k)
 
bool readAndFinish ()
 

Private Types

typedef io< R >::async_read_state async_read_state
 
typedef std::queue< KKS
 

Private Attributes

AsyncSchedulersched
 
int * socket
 
uint32_t exprid
 
KS ks
 
r
 
async_read_state pr
 

Member Typedef Documentation

◆ async_read_state

template<typename R , typename ... Args>
typedef io<R>::async_read_state hobbes::net::AsyncRPCFunc< R(Args...)>::async_read_state
private

◆ K

template<typename R , typename ... Args>
typedef std::function<void(const R&)> hobbes::net::AsyncRPCFunc< R(Args...)>::K

◆ KS

template<typename R , typename ... Args>
typedef std::queue<K> hobbes::net::AsyncRPCFunc< R(Args...)>::KS
private

Constructor & Destructor Documentation

◆ AsyncRPCFunc()

template<typename R , typename ... Args>
hobbes::net::AsyncRPCFunc< R(Args...)>::AsyncRPCFunc ( AsyncScheduler sched,
int *  socket,
uint32_t  exprid 
)
inline

Member Function Documentation

◆ operator()()

template<typename R , typename ... Args>
void hobbes::net::AsyncRPCFunc< R(Args...)>::operator() ( const Args &...  args,
const K k 
)
inline

◆ readAndFinish()

template<typename R , typename ... Args>
bool hobbes::net::AsyncRPCFunc< R(Args...)>::readAndFinish ( )
inlinevirtual

Member Data Documentation

◆ exprid

template<typename R , typename ... Args>
uint32_t hobbes::net::AsyncRPCFunc< R(Args...)>::exprid
private

◆ ks

template<typename R , typename ... Args>
KS hobbes::net::AsyncRPCFunc< R(Args...)>::ks
private

◆ pr

template<typename R , typename ... Args>
async_read_state hobbes::net::AsyncRPCFunc< R(Args...)>::pr
private

◆ r

template<typename R , typename ... Args>
R hobbes::net::AsyncRPCFunc< R(Args...)>::r
private

◆ sched

template<typename R , typename ... Args>
AsyncScheduler* hobbes::net::AsyncRPCFunc< R(Args...)>::sched
private

◆ socket

template<typename R , typename ... Args>
int* hobbes::net::AsyncRPCFunc< R(Args...)>::socket
private

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