SignallingCircuitGroup Class Reference
Group of data circuits used by signalling.
More...
#include <yatesig.h>
List of all members.
Public Types |
enum | Strategy {
Other = 0,
Increment = 0x0001,
Decrement = 0x0002,
Lowest = 0x0003,
Highest = 0x0004,
Random = 0x0005,
OnlyEven = 0x1000,
OnlyOdd = 0x2000,
Fallback = 0x4000
} |
Public Member Functions |
| SignallingCircuitGroup (unsigned int base=0, int strategy=Increment, const char *name="circgroup") |
virtual | ~SignallingCircuitGroup () |
unsigned int | count () const |
unsigned int | base () const |
unsigned int | last () const |
int | strategy () const |
void | setStrategy (int strategy) |
ObjList & | circuits () |
void | getCicList (String &dest) |
bool | insert (SignallingCircuit *circuit) |
void | remove (SignallingCircuit *circuit) |
SignallingCircuitSpan * | buildSpan (const String &name, unsigned int start=0, NamedList *params=0) |
bool | insertSpan (SignallingCircuitSpan *span) |
void | insertRange (SignallingCircuitSpan *span, const char *name, int strategy=-1) |
void | insertRange (const String &range, const char *name, int strategy=-1) |
void | removeSpan (SignallingCircuitSpan *span, bool delCics=true, bool delSpan=false) |
void | removeSpanCircuits (SignallingCircuitSpan *span) |
SignallingCircuit * | find (unsigned int cic, bool local=false) |
SignallingCircuitRange * | findRange (const char *name) |
SignallingCircuit::Status | status (unsigned int cic) |
bool | status (unsigned int cic, SignallingCircuit::Status newStat, bool sync=false) |
SignallingCircuit * | reserve (int checkLock=-1, int strategy=-1, SignallingCircuitRange *range=0) |
SignallingCircuit * | reserve (const String &list, bool mandatory, int checkLock=-1, int strategy=-1, SignallingCircuitRange *range=0) |
bool | release (SignallingCircuit *cic, bool sync=false) |
Static Public Member Functions |
static int | str2strategy (const char *name, int def=Increment) |
Static Public Attributes |
static TokenDict | s_strategy [] |
Protected Member Functions |
virtual void | destroyed () |
Friends |
class | SignallingCircuit |
class | SignallingCallControl |
class | SS7ISUP |
class | ISDNQ931 |
Detailed Description
Group of data circuits used by signalling.
Interface to a stateful group of voice/data circuits
Member Enumeration Documentation
Circuit allocation strategy
Constructor & Destructor Documentation
Constructor, creates a group with a specific base code
- Parameters:
-
| base | Base of identification codes for this group |
| strategy | Default strategy used for circuit allocation |
| name | Name of this component |
Member Function Documentation
unsigned int base |
( |
|
) |
const [inline] |
Get the base of identification codes for this group
- Returns:
- Base of identification codes for this group
Create a circuit span using the factory
- Parameters:
-
| name | Name of the span to create |
| start | Desired start of circuit codes in span |
| params | Optional parameters for creation of span and circuits |
- Returns:
- Pointer to new circuit span or NULL on failure
unsigned int count |
( |
|
) |
const [inline] |
Get the number of circuits in this group
- Returns:
- The number of circuits owned by this group
virtual void destroyed |
( |
|
) |
[inline, protected, virtual] |
Find a specific circuit by its identification code
- Parameters:
-
| cic | Circuit Identification Code |
| local | Interpret the cic parameter as group-local code |
- Returns:
- Pointer to circuit or NULL if not found
Find a range of circuits owned by this group
- Parameters:
-
| name | The range name to find |
- Returns:
- Pointer to circuit range or 0 if not found
void getCicList |
( |
String & |
dest |
) |
|
Create a comma separated list with this group's circuits
- Parameters:
-
| dest | The destination string |
Insert a circuit in the group
- Parameters:
-
| circuit | Pointer to the circuit to insert |
- Returns:
- False if a circuit with the same code already exists
void insertRange |
( |
const String & |
range, |
|
|
const char * |
name, |
|
|
int |
strategy = -1 | |
|
) |
| | |
Build and insert a range contained in a string. See SignallingUtils::parseUIntArray() for the format of the string range
- Parameters:
-
| range | String used to build the range |
| name | Range name |
| strategy | Strategy used to allocate circuits from the new range, -1 to use group's strategy |
Build and insert a range from circuits belonging to a given span
- Parameters:
-
| span | Span to find |
| name | Range name or 0 to use span's id |
| strategy | Strategy used to allocate circuits from the new range, -1 to use group's strategy |
Insert a circuit span in the group
- Parameters:
-
| span | Pointer to the circuit span to insert |
- Returns:
- False on failure
unsigned int last |
( |
|
) |
const [inline] |
Get the maximum of identification codes for this group
- Returns:
- The maximum of identification codes for this group
Initiate a release of a circuit
- Parameters:
-
| cic | Circuit to release |
| sync | Synchronous release requested |
- Returns:
- True if the circuit release was initiated
References SignallingCircuit::status().
Remove a circuit from the group
- Parameters:
-
| circuit | Pointer to the circuit to remove |
Remove a circuit span from the group
- Parameters:
-
| span | Pointer to the circuit span to remove |
| delCics | True to delete signalling circuits associated to the span |
| delSpan | True to delete the span |
Remove signalling circuits associated to the given span
- Parameters:
-
| span | Pointer to the circuit span whose circuits will be removed |
Reserve a circuit for later use
- Parameters:
-
| list | Comma separated list of circuits |
| mandatory | The list is mandatory. If false and none of the circuits in the list are available, try to reserve a free one |
| checkLock | Lock flags to check. If the given lock flags are set, reservation will fail |
| strategy | Strategy used for allocation if failed to allocate one from the list, use group default if negative |
| range | Range of circuits to allocate from. 0 to use group default |
- Returns:
- Referenced pointer to a reserved circuit or 0 on failure
Reserve a circuit for later use
- Parameters:
-
| checkLock | Lock flags to check. If the given lock flags are set, reservation will fail |
| strategy | Strategy used for allocation, use group default if negative |
| range | Range of circuits to allocate from. 0 to use group default |
- Returns:
- Referenced pointer to a reserved circuit or 0 on failure
void setStrategy |
( |
int |
strategy |
) |
[inline] |
Set the circuit allocation strategy
- Parameters:
-
| strategy | The new circuit allocation strategy |
Initiate a circuit status transition
- Parameters:
-
| cic | Circuit Identification Code |
| newStat | Desired new status |
| sync | Synchronous status change requested |
- Returns:
- True if status change has been initiated
Get the status of a circuit
- Parameters:
-
| cic | Circuit Identification Code |
- Returns:
- Enumerated status of circuit
static int str2strategy |
( |
const char * |
name, |
|
|
int |
def = Increment | |
|
) |
| | [inline, static] |
Get the strategy value associated with a given name
- Parameters:
-
| name | Strategy name whose value we want to obtain |
| def | Value to return if not found |
- Returns:
- The requested strategy value or the default one
References TelEngine::lookup().
int strategy |
( |
|
) |
const [inline] |
Get the circuit allocation strategy
- Returns:
- Strategy flags ORed together
Member Data Documentation
The documentation for this class was generated from the following file: