In file /home/eternity/Source/Mix/Mix/H/mix.h:

class Mix

Mix server

Inheritance:

Mix


Public Methods

Err Mix::InitializeRandomGenerator ()
Initializes a random generator
Mix::Mix (string configName)
Mix constructor
void Mix::Run (void)
Creates and starts all running objects (ie
RunningObjectID Mix::StartObject ( Runable *object)
Starts one running object
Mix::~Mix ()
Mix destructor

Public

attributes
RunningObject* runningObject
object needed for waiting for running objects (now threads, but possibly processes)
methods

Private

methods

Documentation

Mix server. Implements the ability to route messages in the spirit of onion routing slightly enhanced. The message that mix receives is decrypted so that it is possible to find out where to send the message next. The piece of information about where to send the message consists of two (that is what we chose but any finite number would go) recipients. This allows Mix for a much bigger reliability when delivering messages routed through many hops. It also implements some techniques suitable for making traffic analysis harder. These techniques are:
attributes

RunningObject* runningObject
object needed for waiting for running objects (now threads, but possibly processes)

methods

methods

Err Mix::InitializeRandomGenerator()
Initializes a random generator. We use normal random() system function. This function is not the best one, but is still useable. We use /dev/urandom for seeding the generator (srandom()). The /dev/urandom should be good enough, if not, we can easily modify the method to use /dev/random.
Returns:
KO if the generator can't be initialized, OK otherwise.
Parameters:
void -
Author:
Pechy
See Also:
random(4), srandom(3), random(3) man pages.

Mix::Mix(string configName)
Mix constructor. Creates all the objects necessary to run Mix server.
Parameters:
configName - Config file name form where to read configuration information.
Author:
Venca, Pechy
See Also:
All other objects

void Mix::Run(void)
Creates and starts all running objects (ie. threads). Just creates all runnig objects and then falls asleep waiting for them.
Returns:
void
Author:
Venca, Pechy
See Also:
All running objects

RunningObjectID Mix::StartObject( Runable *object)
Starts one running object. In this method, the running object is started. For now, the thread is started, but the method could be modified to start normal process (in the system that doesn't support threads). Be portable!
Returns:
RunningObjectID Running object ID, we can then wait for it.
Parameters:
object - Running object created by Run().
Author:
Pechy
See Also:
Run(), threads discussion

Mix::~Mix()
Mix destructor. Deletes all objects created in constructor. This should happen only after catching SIGTERM signal indicating the shutdown.
Author:
Venca, Pechy
See Also:
All other objects


This class has no child classes.
Author:
Pechy, Venca
See Also:
Acs, Eso, Client, Bank, Translator, Padder, PaddingGenerator

alphabetic index hierarchy of classes


generated by doc++