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

#include <service.h>

Inheritance diagram for BaseService:
ServiceProgram PerCpuService VirtualNetService

Classes

struct  BaseSession
struct  per_cpu

Public Member Functions

unsigned portal_func (Utcb &utcb, Utcb::Frame &input, bool &free_cap, cap_sel pid)
unsigned alloc_crd ()
bool register_service (const char *service_name)

Protected Member Functions

virtual cap_sel alloc_cap ()=0
virtual void dealloc_cap (cap_sel c)=0
virtual cap_sel create_ec (phy_cpu_no cpu, Utcb **utcb_out)=0
virtual BaseSessionnew_session ()=0
void garbace_collect (per_cpu &local)
virtual void close_session (per_cpu &local, BaseSession *s)

Static Protected Member Functions

static unsigned flush_func ()

Protected Attributes

Queue< BaseSession_free_sessions
struct BaseService::per_cpu _per_cpu [Config::MAX_CPUS]

Member Function Documentation

virtual cap_sel BaseService::alloc_cap ( )
protectedpure virtual

Implemented in ServiceProgram.

unsigned BaseService::alloc_crd ( )
inline
virtual void BaseService::close_session ( per_cpu local,
BaseSession s 
)
inlineprotectedvirtual
virtual cap_sel BaseService::create_ec ( phy_cpu_no  cpu,
Utcb **  utcb_out 
)
protectedpure virtual

Implemented in ServiceProgram.

virtual void BaseService::dealloc_cap ( cap_sel  c)
protectedpure virtual

Implemented in ServiceProgram.

static unsigned BaseService::flush_func ( )
inlinestaticprotected
void BaseService::garbace_collect ( per_cpu local)
inlineprotected
virtual BaseSession* BaseService::new_session ( )
protectedpure virtual

Implemented in VirtualNetService, and PerCpuService.

unsigned BaseService::portal_func ( Utcb utcb,
Utcb::Frame input,
bool &  free_cap,
cap_sel  pid 
)
inline
bool BaseService::register_service ( const char *  service_name)
inline

Member Data Documentation

Queue<BaseSession> BaseService::_free_sessions
protected
struct BaseService::per_cpu BaseService::_per_cpu[Config::MAX_CPUS]
protected

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