btstack/docs/l2cap.gv

65 lines
3.7 KiB
Plaintext
Raw Normal View History

digraph l2cap {
// rankdir=LR;
size="8,5"
// orientation=landscape;
// rotate = 90;
OPEN [shape=doublecircle];
CLOSE [shape=doublecircle];
// DISCONNECT_REQUEST handling for non-open state
// WAIT_CONNECT_RSP->WILL_SEND_DISCONNECT_RESPONSE [label = "RECEIVED DISCONNECT_REQUEST"];
// WAIT_CONFIG_REQ_OR_SEND_CONFIG_REQ->WILL_SEND_DISCONNECT_RESPONSE [label = "DISCONNECTION_REQUEST"];
// WAIT_CONFIG_REQ_RSP_OR_CONFIG_REQ->WILL_SEND_DISCONNECT_RESPONSE [ label = "RECVEIVED DISCONNECTION_REQUEST"];
// WAIT_CONFIG_REQ->WILL_SEND_DISCONNECT_RESPONSE [label = "RECEIVED DISCONNECTION_REQUEST"];
// WAIT_CONFIG_REQ_RSP->WILL_SEND_DISCONNECT_RESPONSE [label = "RECEIVED DISCONNECTION_REQUEST"];
// WAIT_DISCONNECT->WILL_SEND_DISCONNECT_RESPONSE [label = "RECEIVED DISCONNECT_REQUEST"];
// l2cap_run
WILL_SEND_CREATE_CONNECTION -> WAIT_CONNECTION_COMPLETE [label = "SEND CREATE CONNECTION"];
WILL_SEND_CONNECTION_RESPONSE_DECLINE -> CLOSE [label = "SEND CONNECTION_RESPONSE ERR"];
WILL_SEND_CONNECTION_RESPONSE_ACCEPT -> WAIT_CONFIG_REQ_OR_SEND_CONFIG_REQ [label = "SEND CONNECTION_RESPONSE OK"];
WILL_SEND_CONNECTION_REQUEST -> WAIT_CONNECT_RSP [label = "SEND CONNECTION_REQUEST"];
WAIT_CONFIG_REQ_OR_SEND_CONFIG_REQ->WAIT_CONFIG_REQ_RSP_OR_CONFIG_REQ [label="SEND CONFIGURE_REQUEST"];
WILL_SEND_CONFIG_REQ -> WAIT_CONFIG_REQ_RSP [label = "SEND CONFIGURE_REQUEST"];
WAIT_CONFIG_REQ_RSP_OR_WILL_SEND_CONFIG_REQ_RSP -> WAIT_CONFIG_REQ_RSP [label = "SEND CONFIGURE_RESPONSE"];
WILL_SEND_CONFIG_REQ_RSP->OPEN [label="SEND CONFIGURE_RESPONSE"];
WILL_SEND_CONFIG_REQ_AND_CONFIG_REQ_RSP -> WILL_SEND_CONFIG_REQ [label = "SEND CONFIGURE_RESPONSE"];
WILL_SEND_DISCONNECT_RESPONSE -> CLOSE [ label = "SEND DISCONNECTION_RESPONSE"];
WILL_SEND_DISCONNECT_REQUEST -> WAIT_DISCONNECT [label = "SEND DISCONNECTION_REQUEST"];
// l2cap_create_channel_internal
CLOSE -> WILL_SEND_CREATE_CONNECTION [label = "l2cap create channel internal"];
// l2cap_disconnect_internal
OPEN -> WILL_SEND_DISCONNECT_REQUEST [label = "l2cap disconnect internal"];
// l2cap_handle_connection_success_for_addr
WAIT_CONNECTION_COMPLETE->WILL_SEND_CONNECTION_REQUEST [ label = "outgoing,baseband open"];
// l2cap_handle_disconnect_request
OPEN -> WILL_SEND_DISCONNECT_RESPONSE [label = "RECEIVED DISCONNECT_REQUEST"];
// l2cap_handle_connection_request
CLOSE -> WAIT_CLIENT_ACCEPT_OR_REJECT [label = "RECEIVED CONNECTION REQUEST"];
// l2cap_accept_connection_internal
WAIT_CLIENT_ACCEPT_OR_REJECT -> WILL_SEND_CONNECTION_RESPONSE_ACCEPT [ label = "l2cap accept internal"];
// l2cap_decline_connection_internal
WAIT_CLIENT_ACCEPT_OR_REJECT -> WILL_SEND_CONNECTION_RESPONSE_DECLINE [ label = "l2cap decline internal"];
// l2cap_signaling_handler_channel
WAIT_CONNECT_RSP->WAIT_CONFIG_REQ_OR_SEND_CONFIG_REQ [ label = "CONNECTION_RESPONSE OK"];
WAIT_CONNECT_RSP->CLOSE [label = "CONNECTION_RESPONSE ERR"];
WAIT_CONFIG_REQ_OR_SEND_CONFIG_REQ->WILL_SEND_CONFIG_REQ_AND_CONFIG_REQ_RSP [label = "RECEIVE CONFIGURE_REQUEST"];
WAIT_CONFIG_REQ_RSP_OR_CONFIG_REQ->WAIT_CONFIG_REQ [ label = "RECEIVE CONFIGURE_RESPONSE"];
WAIT_CONFIG_REQ_RSP_OR_CONFIG_REQ->WAIT_CONFIG_REQ_RSP_OR_WILL_SEND_CONFIG_REQ_RSP [ label = "RECEIVE CONFIGURE_REQUEST"];
WAIT_CONFIG_REQ->WILL_SEND_CONFIG_REQ_RSP [label = "RECEIVE CONFIGURE_REQUEST"];
WAIT_CONFIG_REQ_RSP->OPEN [label = "RECEIVE CONFIGURE_RESPONSE"];
WAIT_DISCONNECT->CLOSE [label = "RECEIVED DISCONNECT_RESPONSE"];
// l2cap_close_connection
OPEN->WILL_SEND_DISCONNECT_REQUEST [label = "client closed"];
}