class SignallingCircuitGroup

Group of data circuits used by signalling. More...

Full nameTelEngine::SignallingCircuitGroup
Definition#include <libs/ysig/yatesig.h>
InheritsTelEngine::Mutex [public ], TelEngine::SignallingComponent [public ]
Inherited byAnalogLineGroup
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Types

Public Methods

Public Static Methods

Public Members

Protected Methods


Detailed Description

Interface to a stateful group of voice/data circuits

enum Strategy { Other = 0, Increment = 0x0001, Decrement = 0x0002, Lowest = 0x0003, Highest = 0x0004, Random = 0x0005, OnlyEven = 0x1000, OnlyOdd = 0x2000, Fallback = 0x4000, }

Strategy

Circuit allocation strategy

 SignallingCircuitGroup (unsigned int base = 0, int strategy = Increment, const char* name = "circgroup")

SignallingCircuitGroup

Constructor, creates a group with a specific base code

Parameters:
baseBase of identification codes for this group
strategyDefault strategy used for circuit allocation
nameName of this component

 ~SignallingCircuitGroup ()

~SignallingCircuitGroup

[virtual]

Destructor

inline unsigned int  count ()

count

[const]

Get the number of circuits in this group

Returns: The number of circuits owned by this group

Reimplemented from Mutex.

inline unsigned int  base ()

base

[const]

Get the base of identification codes for this group

Returns: Base of identification codes for this group

inline unsigned int  last ()

last

[const]

Get the maximum of identification codes for this group

Returns: The maximum of identification codes for this group

inline int  strategy ()

strategy

[const]

Get the circuit allocation strategy

Returns: Strategy flags ORed together

inline void  setStrategy (int strategy)

setStrategy

Set the circuit allocation strategy

Parameters:
strategyThe new circuit allocation strategy

inline ObjList&  circuits ()

circuits

Get the circuit list

void  getCicList (String& dest)

getCicList

Create a comma separated list with this group's circuits

Parameters:
destThe destination string

bool  insert (SignallingCircuit* circuit)

insert

Insert a circuit in the group

Parameters:
circuitPointer to the circuit to insert

Returns: False if a circuit with the same code already exists

Reimplemented from SignallingComponent.

void  remove (SignallingCircuit* circuit)

remove

Remove a circuit from the group

Parameters:
circuitPointer to the circuit to remove

SignallingCircuitSpan*  buildSpan (const String& name, unsigned int start = 0, NamedList* params = 0)

buildSpan

Create a circuit span using the factory

Parameters:
nameName of the span to create
startDesired start of circuit codes in span
paramsOptional parameters for creation of span and circuits

Returns: Pointer to new circuit span or NULL on failure

bool  insertSpan (SignallingCircuitSpan* span)

insertSpan

Insert a circuit span in the group

Parameters:
spanPointer to the circuit span to insert

Returns: False on failure

void  insertRange (SignallingCircuitSpan* span, const char* name, int strategy = -1)

insertRange

Build and insert a range from circuits belonging to a given span

Parameters:
spanSpan to find
nameRange name or 0 to use span's id
strategyStrategy used to allocate circuits from the new range, -1 to use group's strategy

void  insertRange (const String& range, const char* name, int strategy = -1)

insertRange

Build and insert a range contained in a string. See SignallingUtils::parseUIntArray() for the format of the string range

Parameters:
rangeString used to build the range
nameRange name
strategyStrategy used to allocate circuits from the new range, -1 to use group's strategy

void  removeSpan (SignallingCircuitSpan* span, bool delCics = true, bool delSpan = false)

removeSpan

Remove a circuit span from the group

Parameters:
spanPointer to the circuit span to remove
delCicsTrue to delete signalling circuits associated to the span
delSpanTrue to delete the span

void  removeSpanCircuits (SignallingCircuitSpan* span)

removeSpanCircuits

Remove signalling circuits associated to the given span

Parameters:
spanPointer to the circuit span whose circuits will be removed

SignallingCircuit*  find (unsigned int cic, bool local = false)

find

Find a specific circuit by its identification code

Parameters:
cicCircuit Identification Code
localInterpret the cic parameter as group-local code

Returns: Pointer to circuit or NULL if not found

SignallingCircuitRange*  findRange (const char* name)

findRange

Find a range of circuits owned by this group

Parameters:
nameThe range name to find

Returns: Pointer to circuit range or 0 if not found

SignallingCircuit::Status  status (unsigned int cic)

status

Get the status of a circuit

Parameters:
cicCircuit Identification Code

Returns: Enumerated status of circuit

bool  status (unsigned int cic, SignallingCircuit::Status newStat, bool sync = false)

status

Initiate a circuit status transition

Parameters:
cicCircuit Identification Code
newStatDesired new status
syncSynchronous status change requested

Returns: True if status change has been initiated

SignallingCircuit*  reserve (int checkLock = -1, int strategy = -1, SignallingCircuitRange* range = 0)

reserve

Reserve a circuit for later use

Parameters:
checkLockLock flags to check. If the given lock flags are set, reservation will fail
strategyStrategy used for allocation, use group default if negative
rangeRange of circuits to allocate from. 0 to use group default

Returns: Referenced pointer to a reserved circuit or 0 on failure

SignallingCircuit*  reserve (const String& list, bool mandatory, int checkLock = -1, int strategy = -1, SignallingCircuitRange* range = 0)

reserve

Reserve a circuit for later use

Parameters:
listComma separated list of circuits
mandatoryThe list is mandatory. If false and none of the circuits in the list are available, try to reserve a free one
checkLockLock flags to check. If the given lock flags are set, reservation will fail
strategyStrategy used for allocation if failed to allocate one from the list, use group default if negative
rangeRange of circuits to allocate from. 0 to use group default

Returns: Referenced pointer to a reserved circuit or 0 on failure

inline bool  release (SignallingCircuit* cic, bool sync = false)

release

Initiate a release of a circuit

Parameters:
cicCircuit to release
syncSynchronous release requested

Returns: True if the circuit release was initiated

int  str2strategy (const char* name, int def = Increment)

str2strategy

[static]

Get the strategy value associated with a given name

Parameters:
nameStrategy name whose value we want to obtain
defValue to return if not found

Returns: The requested strategy value or the default one

static TokenDict s_strategy[]

s_strategy[]

void  destroyed ()

destroyed

[protected virtual]

Remove all spans and circuits. Release object

Reimplemented from SignallingComponent.


Generated by: paulc on bussard on Mon Mar 8 12:18:15 2010, using kdoc 2.0a54.