5 #ifndef HOBBES_EVENTS_NET_HPP_INCLUDED 6 #define HOBBES_EVENTS_NET_HPP_INCLUDED 37 virtual void connect (
int conn) = 0;
40 virtual void evaluate (
int conn, exprid) = 0;
57 Client(
const std::string& hostport);
59 const std::string& remoteHost()
const;
67 inline int fd()
const {
return this->c; }
81 typedef std::pair<const void*,const void*>
ExprTy;
86 void show(std::ostream&)
const;
90 typedef char* (*ReadFn)(int);
91 size_t appendReadFn(ReadFn);
94 char* readValue(
size_t);
97 static size_t unsafeAppendReadFn(
size_t, ReadFn);
98 static char* unsafeRead(
size_t,
size_t);
virtual ExprPtr readExpr(const std::string &)=0
static int input(void)
Definition: hexpr.lex.C:1957
exprid eid
Definition: net.H:71
ExprPtr expr
Definition: net.H:74
int c
Definition: net.H:69
ReadFns readFns
Definition: net.H:101
virtual void connect(int conn)=0
std::map< exprid, ExprDef > ExprDefs
Definition: net.H:78
int allocateFileSocketServer(const std::string &filepath)
Definition: net.C:72
uint32_t exprid
Definition: net.H:34
virtual void evaluate(int conn, exprid)=0
int fd() const
Definition: net.H:67
virtual MonoTypePtr prepare(int conn, exprid, const ExprPtr &, const MonoTypePtr &)=0
size_t rbno
Definition: net.H:102
MonoType::ptr MonoTypePtr
Definition: type.H:71
std::queue< ReadFn > ReadFns
Definition: net.H:100
ExprDefs exprDefs
Definition: net.H:79
std::pair< const void *, const void * > ExprTy
Definition: net.H:81
int installNetREPL(int port, Server *)
Definition: net.C:304
virtual void disconnect(int conn)=0
std::vector< uint8_t > RawData
Definition: net.H:33
int lookupPort(const std::string &)
Definition: net.C:22
std::string show(const Expr &e)
Definition: expr.C:19
MonoTypePtr inty
Definition: net.H:75
std::shared_ptr< Expr > ExprPtr
Definition: expr.H:58
int allocateServer(int port)
Definition: net.C:36
std::string hostport
Definition: net.H:70
std::map< ExprTy, exprid > ExprTyToID
Definition: net.H:82
std::string remoteHostname(int socket)
Definition: net.C:169
size_t reno
Definition: net.H:103
int connectSocket(const std::string &host, int port)
Definition: net.C:152
MonoTypePtr outty
Definition: net.H:76
ExprTyToID exprTyToID
Definition: net.H:83