NOVA User-Level Environment  Version testbox/changed-memory-timing-317-g320d8b5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Remcon Class Reference

#include <server.h>

Inheritance diagram for Remcon:
CapAllocator InternalCapAllocator

Classes

class  Auth
struct  disks
struct  server_data

Public Member Functions

 Remcon (char const *_cmdline, ConfigProtocol *_sconfig, unsigned _cpu_count, unsigned long cap_start, unsigned long cap_order, EventProducer *prod_event, AuthProducer *prod_auth, const char *templatefile, unsigned len_template, const char *diskfile, unsigned len_disk, unsigned long verbose)
void recv_file (uint32 remoteip, uint16 remoteport, uint16 localport, void *in, size_t in_len, void *&out, size_t &out_len)
void recv_call_back (void *in, size_t in_len, void *&out, size_t &out_len)
int send (void *mem, size_t count)
bool find_uuid (unsigned remoteid, char *uuid)
bool clean_disk (unsigned internal_id)
unsigned get_free_disk (uint64_t disksize, unsigned &sectorsize, char *diskuuid, unsigned diskuuidmax)
unsigned get_disk_id_from_name (const char *name)
unsigned chg_event_slot (struct server_data *entry, uint32_t eventID, bool newentry)
unsigned get_event_slot (struct server_data *entry, uint32_t eventID)
bool push_event (int guid, uint32_t eventid, uint32_t extra_len=0, char const *extra=0)
timevalue time ()
- Public Member Functions inherited from CapAllocator
 CapAllocator (unsigned long cap_, unsigned long cap_start, unsigned long cap_order)
unsigned alloc_cap (unsigned count=1)
void dealloc_cap (unsigned cap, unsigned count=1)

Public Attributes

class Authobj_auth
- Public Attributes inherited from CapAllocator
unsigned long _cap_
unsigned long _cap_start
unsigned long _cap_order

Private Member Functions

void handle_packet (void)
void gen_uuid (char const *text, char uuid[UUID_LEN])
struct server_datacheck_uuid (char const uuid[UUID_LEN])
struct server_dataget_free_entry ()
void free_entry (struct server_data *entry)
unsigned start_entry (struct server_data *entry)

Private Attributes

DiskHelper< Remcon, 4096 > * service_disk
bool gevents
struct Remcon::server_data server_data [32]
unsigned char buf_out [NOVA_PACKET_LEN]
unsigned char buf_in [NOVA_PACKET_LEN]
unsigned data_received
struct incoming_packet_in
struct outgoing_packet_out
bool dowrite
char const * cmdline
ConfigProtocolservice_config
unsigned cpu_count
EventProducereventproducer
AuthProducerauthproducer
AdmissionProtocolservice_admission
const char * file_template
const char * file_diskuuid
unsigned file_len_template
unsigned file_len_diskuuid
struct Remcon::disksdisks
unsigned long verbosity

Constructor & Destructor Documentation

Remcon::Remcon ( char const *  _cmdline,
ConfigProtocol _sconfig,
unsigned  _cpu_count,
unsigned long  cap_start,
unsigned long  cap_order,
EventProducer prod_event,
AuthProducer prod_auth,
const char *  templatefile,
unsigned  len_template,
const char *  diskfile,
unsigned  len_disk,
unsigned long  verbose 
)
inline

Member Function Documentation

struct Remcon::server_data * Remcon::check_uuid ( char const  uuid[UUID_LEN])
readprivate
unsigned Remcon::chg_event_slot ( struct server_data entry,
uint32_t  eventID,
bool  newentry 
)
inline
bool Remcon::clean_disk ( unsigned  internal_id)
inline
bool Remcon::find_uuid ( unsigned  remoteid,
char *  uuid 
)
inline
void Remcon::free_entry ( struct server_data entry)
private
void Remcon::gen_uuid ( char const *  text,
char  uuid[UUID_LEN] 
)
inlineprivate
unsigned Remcon::get_disk_id_from_name ( const char *  name)
inline
unsigned Remcon::get_event_slot ( struct server_data entry,
uint32_t  eventID 
)
inline
unsigned Remcon::get_free_disk ( uint64_t  disksize,
unsigned &  sectorsize,
char *  diskuuid,
unsigned  diskuuidmax 
)
inline
struct Remcon::server_data * Remcon::get_free_entry ( )
readprivate
void Remcon::handle_packet ( void  )
private
bool Remcon::push_event ( int  guid,
uint32_t  eventid,
uint32_t  extra_len = 0,
char const *  extra = 0 
)
inline
void Remcon::recv_call_back ( void *  in,
size_t  in_len,
void *&  out,
size_t &  out_len 
)
void Remcon::recv_file ( uint32  remoteip,
uint16  remoteport,
uint16  localport,
void *  in,
size_t  in_len,
void *&  out,
size_t &  out_len 
)
int Remcon::send ( void *  mem,
size_t  count 
)
inline
unsigned Remcon::start_entry ( struct server_data entry)
private
timevalue Remcon::time ( )
inline

Member Data Documentation

struct incoming_packet* Remcon::_in
private
struct outgoing_packet* Remcon::_out
private
AuthProducer* Remcon::authproducer
private
unsigned char Remcon::buf_in[NOVA_PACKET_LEN]
private
unsigned char Remcon::buf_out[NOVA_PACKET_LEN]
private
char const* Remcon::cmdline
private
unsigned Remcon::cpu_count
private
unsigned Remcon::data_received
private
struct Remcon::disks * Remcon::disks
private
bool Remcon::dowrite
private
EventProducer* Remcon::eventproducer
private
const char * Remcon::file_diskuuid
private
unsigned Remcon::file_len_diskuuid
private
unsigned Remcon::file_len_template
private
const char* Remcon::file_template
private
bool Remcon::gevents
private
class Auth* Remcon::obj_auth
AdmissionProtocol* Remcon::service_admission
private
ConfigProtocol* Remcon::service_config
private
DiskHelper<Remcon, 4096>* Remcon::service_disk
private
unsigned long Remcon::verbosity
private

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