exiddis::master::Sequences::Sequences Class Reference

List of all members.

Public Member Functions

def __init__
def setLinks
def seqType
def findFreeId
def createNewIterSeq
def createNewRandSeq
def addUserRight
def tryAssignSeq
def assignSeqToWorker
def takeSeqFromWorker
def getSequenceWorker
def getSequencesList
def getSeqIdFromName
def deleteSequencesOfWorker

Public Attributes

 parent
 logger
 workers
 backup

Static Public Attributes

dictionary sequences = {}
dictionary namesToIds = {}
dictionary sequenceWorkers = {}


Detailed Description

Manage sequences from Master server side.

Member Function Documentation

def exiddis::master::Sequences::Sequences::__init__ (   self,
  parent 
)

Create new instance of Sequences class. Start __analyser() thread.

Keyword parameters:
parent - reference to parent object (e.g. MasterServer class instance)

def exiddis::master::Sequences::Sequences::addUserRight (   self,
  user,
  seqId,
  role 
)

Add user right to given sequence.

Keyword parameters:
user  - user id
seqId - sequence id
role  - user role

def exiddis::master::Sequences::Sequences::assignSeqToWorker (   self,
  seqId,
  worker 
)

Assign given sequence to given worker.

Keyword parameters:
seqId  - sequence id
worker - reference to worker sender

def exiddis::master::Sequences::Sequences::createNewIterSeq (   self,
  seqName,
  seqRange,
  seqStep,
  seqId = None,
  seqAct = None,
  users = {} 
)

Create new iterative sequence.

Keyword parameters:
seqName  - name of the sequence
seqRange - sequence range (interval)
seqStep  - sequence step (common difference)
seqId    - sequence id (default: None, will be generated automaticaly)
seqAct   - actual sequence value (default: None, will be set to the begining of range)
users    - map of users with permission to this sequence (default: empty map {})

Return created sequence.

def exiddis::master::Sequences::Sequences::createNewRandSeq (   self,
  seqName,
  seqBits,
  seqId = None,
  seqSeed = None,
  seqValues = None,
  users = {} 
)

Create new random sequence.

Keyword parameters:
seqName   - name of the sequence
seqBits   - number of bits in sequence's interval (form 0 to 2^seqBits-1)
seqId     - sequence id (default: None, will be generated automaticaly)
seqSeed   - seed for random function (default: None)
seqValues - actual sequence values (default: None)
users     - map of users with permission to this sequence (default: empty map {})

Return created sequence.

def exiddis::master::Sequences::Sequences::deleteSequencesOfWorker (   self,
  wid 
)

Remove all sequence assignments of given worker.

Keyword parameters:
wid - worker id

def exiddis::master::Sequences::Sequences::findFreeId (   self  ) 

Return unused sequence id in range from 0 to sys.maxint.

def exiddis::master::Sequences::Sequences::getSeqIdFromName (   self,
  seqName 
)

Return id of sequence with given name.

Keyword parameters:
seqName - sequence name

If sequence with given name exists, return it's id. Otherwise, return None.

def exiddis::master::Sequences::Sequences::getSequencesList (   self  ) 

Return (as a string) the list of all sequences in the system in format "<name> (id: <id>)".

def exiddis::master::Sequences::Sequences::getSequenceWorker (   self,
  seqId 
)

Return worker sender of worker to with the sequence is assigned.

Keyword parameters:
seqId - sequence id

If sequence is assigned to worker, return worker's sender. Otherwise, return None.

def exiddis::master::Sequences::Sequences::seqType (   self,
  seqid 
)

Determine whether given sequence is iterative or random.

Keyword parameters:
seqid - id of the sequence to be checked

Return 1 if sequence is random, 0 otherwise.

def exiddis::master::Sequences::Sequences::setLinks (   self  ) 

Set useful reference links (shortcuts) to other parts of Master server application.

def exiddis::master::Sequences::Sequences::takeSeqFromWorker (   self,
  seqId,
  worker 
)

Remove assignment of sequence from given worker.

Keyword parameters:
seqId  - sequence id
worker - reference to worker sender

def exiddis::master::Sequences::Sequences::tryAssignSeq (   self,
  seqId 
)

If there is at least one worker, call assignSeqToWorker() with appropriate parameters. Otherwise, do nothing.

Keyword parameters:
seqId - id of sequence to be assigned


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

Generated on Mon Oct 5 18:55:11 2009 for ExIdDis by  doxygen 1.5.8