hobbes
a language, embedded compiler, and runtime for efficient dynamic expression evaluation, data storage and analysis
Classes | Public Types | Public Member Functions | Static Public Member Functions | Private Types | Private Attributes | List of all members
hobbes::Client Class Reference

#include <net.H>

Collaboration diagram for hobbes::Client:
Collaboration graph

Classes

struct  ExprDef
 

Public Types

typedef char *(* ReadFn) (int)
 

Public Member Functions

 Client (const std::string &hostport)
 
 ~Client ()
 
const std::string & remoteHost () const
 
exprid remoteExpr (const ExprPtr &, const MonoTypePtr &inty)
 
MonoTypePtr input (exprid) const
 
MonoTypePtr output (exprid) const
 
MonoTypePtr output (const ExprPtr &, const MonoTypePtr &inty)
 
int fd () const
 
void show (std::ostream &) const
 
size_t appendReadFn (ReadFn)
 
char * readValue (size_t)
 

Static Public Member Functions

static size_t unsafeAppendReadFn (size_t, ReadFn)
 
static char * unsafeRead (size_t, size_t)
 

Private Types

typedef std::map< exprid, ExprDefExprDefs
 
typedef std::pair< const void *, const void * > ExprTy
 
typedef std::map< ExprTy, expridExprTyToID
 
typedef std::queue< ReadFnReadFns
 

Private Attributes

int c
 
std::string hostport
 
exprid eid
 
ExprDefs exprDefs
 
ExprTyToID exprTyToID
 
ReadFns readFns
 
size_t rbno
 
size_t reno
 

Member Typedef Documentation

◆ ExprDefs

typedef std::map<exprid, ExprDef> hobbes::Client::ExprDefs
private

◆ ExprTy

typedef std::pair<const void*,const void*> hobbes::Client::ExprTy
private

◆ ExprTyToID

typedef std::map<ExprTy, exprid> hobbes::Client::ExprTyToID
private

◆ ReadFn

typedef char*(* hobbes::Client::ReadFn) (int)

◆ ReadFns

typedef std::queue<ReadFn> hobbes::Client::ReadFns
private

Constructor & Destructor Documentation

◆ Client()

hobbes::Client::Client ( const std::string &  hostport)

◆ ~Client()

hobbes::Client::~Client ( )

Member Function Documentation

◆ appendReadFn()

size_t hobbes::Client::appendReadFn ( ReadFn  f)

◆ fd()

int hobbes::Client::fd ( ) const
inline

◆ input()

MonoTypePtr hobbes::Client::input ( exprid  ex) const

◆ output() [1/2]

MonoTypePtr hobbes::Client::output ( exprid  ex) const

◆ output() [2/2]

MonoTypePtr hobbes::Client::output ( const ExprPtr e,
const MonoTypePtr inty 
)

◆ readValue()

char * hobbes::Client::readValue ( size_t  x)

◆ remoteExpr()

exprid hobbes::Client::remoteExpr ( const ExprPtr expr,
const MonoTypePtr inty 
)

◆ remoteHost()

const std::string & hobbes::Client::remoteHost ( ) const

◆ show()

void hobbes::Client::show ( std::ostream &  out) const

◆ unsafeAppendReadFn()

size_t hobbes::Client::unsafeAppendReadFn ( size_t  p,
ReadFn  f 
)
static

◆ unsafeRead()

char * hobbes::Client::unsafeRead ( size_t  p,
size_t  x 
)
static

Member Data Documentation

◆ c

int hobbes::Client::c
private

◆ eid

exprid hobbes::Client::eid
private

◆ exprDefs

ExprDefs hobbes::Client::exprDefs
private

◆ exprTyToID

ExprTyToID hobbes::Client::exprTyToID
private

◆ hostport

std::string hobbes::Client::hostport
private

◆ rbno

size_t hobbes::Client::rbno
private

◆ readFns

ReadFns hobbes::Client::readFns
private

◆ reno

size_t hobbes::Client::reno
private

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