
|
Example Event / Action Flow TCPCL interface accept()’s a new connection and constructs a new bundle from the wire. User configures a new ONDEMAND TCP link and a route for the link. event: LINK_CREATED event: LINK_AVAILABLE Router adds link to route table. Router matches the link in the route table as the only next hop for the bundle. event: BUNDLE_ARRIVED TCPCL resolves the destination admin string and establishes a connection to the next hop. event: CONTACT_UP Router checks the link, finds a pending bundle, moves the bundle to the contact. action: ENQUEUE_BUNDLE TCP Connection thread picks bundle off contact queue, sends it to the next hop. Database stores the bundle. Database removes the bundle. action: STORE_DEL Router checks bundle mappings and finds no other destinations Disruption occurs on the connection, TCPCL times out on a keepalive message Router checks queues for any bundles that need to be re-routed to other links. event: CONTACT_DOWN event: LINK_UNAVAILABLE |