sprint 1-alpha
Classes | Typedefs | Enumerations | Functions
sprint::ipc Namespace Reference

inter-process comunication More...

Classes

struct  segment_info
class  segment
 a shared memory segment More...
class  mutex
 a shared mutex More...
struct  rpc_request
class  rpc

Typedefs

typedef int(* rpc_fun )(rpc_request *req, void *param)

Enumerations

enum  memory_policy { none = 0, push = 1, pop = 2, delta = 4 }
 memory segment policy More...
enum  lock_policy { read, write }

Functions

void load_configuration (const char *file)
 import IPC structure from a configuration file
void run_service (const char *servicename, const char *parameters)
segmentcreate_memory (const char *name, unsigned int size, memory_policy update_policy=none)
 create memory/access to existing one
segmentopen_memory (const char *name)
 Open an existing memory.
mutexopen_mutex (const char *name)
 crea un mutex thread safe
mutexopen_fast_mutex (const char *name)
 crea un mutex at least process safe
void declare_rpc (const char *name, rpc_fun fun, unsigned int byte_order, unsigned int in_size, unsigned int out_size, void *param)
 declare a rpc service
rpcopen_rpc (const char *name)
 find an existing rpc on the workgroup

Detailed Description

inter-process comunication


Enumeration Type Documentation

memory segment policy

Enumerator:
none 

use system default

push 

modifies are sent to any remote client

pop 

modifies are sent only on request

delta 

only differences are sent (but require more local memory)


Function Documentation

void sprint::ipc::run_service ( const char *  servicename,
const char *  parameters 
)

add a service provider to the system

  run_service("local",NULL);
  run_service("tcp:server","port=4000");
  run_service("udp:server","port=4000");
  run_service("tcp:client","host=address;port=4000");
  run_service("udp:client","host=address;port=4000");
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines