osmo-bsc/doc/timeslot-fsm.dot

38 lines
1.2 KiB
Plaintext

digraph G {
rankdir=TB
labelloc=t; label="Timeslot FSM"
invisible [style="invisible"]
invisible2 [style="invisible"]
NOT_INITIALIZED
lchan [label="lchan FSM",shape=box3d]
UNUSED
IN_USE
BORKEN
PDCH
WAIT_PDCH_ACT
WAIT_PDCH_DEACT
invisible -> NOT_INITIALIZED [label="OML\nOpstart ACK",style=dotted]
invisible2 -> NOT_INITIALIZED [label="RSL\nbootstrapped",style=dotted]
NOT_INITIALIZED -> UNUSED [label="OML+RSL ready"]
UNUSED -> IN_USE [label="first\nlchan\nrequested\nby lchan\nFSM"]
IN_USE -> UNUSED [label="last lchan\nunused"]
UNUSED -> PDCH [label="onenter:\ndedicated PDCH\nand GPRS\nis enabled"]
UNUSED -> WAIT_PDCH_ACT [label="onenter:\ndyn TS\nand GPRS\nis enabled"]
WAIT_PDCH_ACT -> PDCH [label="dyn TS:\nPDCH activated"]
PDCH -> WAIT_PDCH_DEACT [label="dyn TS:\nlchan of specific\npchan requested"]
WAIT_PDCH_DEACT -> UNUSED [label="lchan\nunused\n(e.g. error)",style=dashed]
WAIT_PDCH_DEACT -> IN_USE [label="dyn TS:\nPDCH released"]
lchan -> {UNUSED} [label="TS_EV_LCHAN_\nREQUESTED",style=dotted]
{IN_USE} -> lchan [label="LCHAN_EV_\nTS_READY",style=dotted]
lchan -> IN_USE [label="TS_EV_LCHAN_\nUNUSED",style=dotted]
{WAIT_PDCH_ACT,WAIT_PDCH_DEACT} -> BORKEN [label=timeout,style=dashed]
}