NOVA User-Level Environment  Version testbox/changed-memory-timing-317-g320d8b5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
EchoService Class Reference
Inheritance diagram for EchoService:
SServiceProgram< EchoClient, EchoService, BASE_SSERVICE > NovaProgram ProgramConsole NovaProgram ProgramConsole BASE_SSERVICE NovaProgram ProgramConsole BaseProgram CapAllocator BaseProgram CapAllocator BaseProgram CapAllocator InternalCapAllocator InternalCapAllocator InternalCapAllocator

Classes

struct  ClientData

Public Member Functions

 EchoService ()
unsigned alloc_crd ()
unsigned portal_func (Utcb &utcb, Utcb::Frame &input, bool &free_cap, cap_sel pid)
bool start_service (Utcb *utcb, Hip *hip)
NORETURN void run (Utcb *utcb, Hip *hip)
 EchoService ()
unsigned alloc_crd ()
unsigned portal_func (Utcb &utcb, Utcb::Frame &input, bool &free_cap, cap_sel pid)
bool start_service (Utcb *utcb, Hip *hip)
NORETURN void run (Utcb *utcb, Hip *hip)
 EchoService ()
- Public Member Functions inherited from SServiceProgram< EchoClient, EchoService, BASE_SSERVICE >
virtual cap_sel alloc_cap (unsigned count=1)
virtual void dealloc_cap (cap_sel c)
virtual cap_sel create_ec4pt (phy_cpu_no cpu, Utcb **utcb_out, cap_sel ec=~0u)
 SServiceProgram (const char *console_name="service")
- Public Member Functions inherited from NovaProgram
 NovaProgram ()
- Public Member Functions inherited from CapAllocator
 CapAllocator (unsigned long cap_, unsigned long cap_start, unsigned long cap_order)
void dealloc_cap (unsigned cap, unsigned count=1)

Private Types

typedef ClientDataStorage
< ClientData, EchoService
EchoClientDataStorage

Private Member Functions

virtual unsigned new_session (EchoClient *client)
virtual unsigned handle_request (EchoClient *client, unsigned op, Utcb::Frame &input, Utcb &utcb, bool &free_cap)

Private Attributes

EchoClientDataStorage _storage
char * flag_revoke

Additional Inherited Members

- Static Public Member Functions inherited from NovaProgram
static void exit (const char *msg)
 Default exit function.
- Public Attributes inherited from CapAllocator
unsigned long _cap_
unsigned long _cap_start
unsigned long _cap_order
- Static Public Attributes inherited from BaseProgram
static const unsigned stack_size_shift = 12
static const unsigned stack_size = (1U << stack_size_shift)
- Protected Member Functions inherited from NovaProgram
Utcballoc_utcb ()
 Alloc a region of virtual memory to put an EC into.
template<class C >
 __attribute__ ((nonnull(6))) unsigned create_ec_helper(C *tls
 Create an EC and setup the stack.
void init_mem (Hip *hip)
 Init the memory map from the HIP as we get them from sigma0.
void __attribute__ ((noreturn)) block_forever()
 Block ourself.
- Protected Member Functions inherited from ProgramConsole
void console_init (const char *name, Semaphore *sem)
- Static Protected Member Functions inherited from ProgramConsole
static void putc (void *data, int value)
- Protected Attributes inherited from NovaProgram
Hip_hip
unsigned _cap_block
RegionList< 512 > _free_virt
RegionList< 512 > _free_phys
RegionList< 512 > _virt_phys
phy_cpu_no cpunr
phy_cpu_no unsigned excbase
phy_cpu_no unsigned Utcb ** utcb_out
phy_cpu_no unsigned Utcb void * func
phy_cpu_no unsigned Utcb void
unsigned long 
cap = ~0UL
phy_cpu_no unsigned Utcb void
unsigned long bool 
local
- Protected Attributes inherited from ProgramConsole
VgaRegs _vga_regs
struct console_data _console_data
char _vga_console [0x1000]

Member Typedef Documentation

Constructor & Destructor Documentation

EchoService::EchoService ( )
inline
EchoService::EchoService ( )
inline
EchoService::EchoService ( )
inline

Member Function Documentation

unsigned EchoService::alloc_crd ( )
inline
unsigned EchoService::alloc_crd ( )
inline
virtual unsigned EchoService::handle_request ( EchoClient client,
unsigned  op,
Utcb::Frame input,
Utcb utcb,
bool &  free_cap 
)
inlineprivatevirtual
virtual unsigned EchoService::new_session ( EchoClient client)
inlineprivatevirtual
unsigned EchoService::portal_func ( Utcb utcb,
Utcb::Frame input,
bool &  free_cap,
cap_sel  pid 
)
inline
unsigned EchoService::portal_func ( Utcb utcb,
Utcb::Frame input,
bool &  free_cap,
cap_sel  pid 
)
inline
NORETURN void EchoService::run ( Utcb utcb,
Hip hip 
)
inline
NORETURN void EchoService::run ( Utcb utcb,
Hip hip 
)
inline
bool EchoService::start_service ( Utcb utcb,
Hip hip 
)
inline
bool EchoService::start_service ( Utcb utcb,
Hip hip 
)
inline

Member Data Documentation

EchoClientDataStorage EchoService::_storage
private
char* EchoService::flag_revoke
private

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