{"nodes": [{"id": "$graphify-root$_dasp_py", "label": "dasp.py", "file_type": "code", "source_file": "dasp.py", "source_location": "L1"}, {"id": "$graphify-root$_dasp_trace", "label": "_trace()", "file_type": "code", "source_file": "dasp.py", "source_location": "L88", "_callable": true}, {"id": "$graphify-root$_dasp_daspexception", "label": "DaspException", "file_type": "code", "source_file": "dasp.py", "source_location": "L112", "_callable": true, "_callable_class": true}, {"id": "exception", "label": "Exception", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/dasp.py"}, {"id": "$graphify-root$_dasp_daspexception_init", "label": ".__init__()", "file_type": "code", "source_file": "dasp.py", "source_location": "L113", "_callable": true}, {"id": "$graphify-root$_dasp_daspmsg", "label": "DaspMsg", "file_type": "code", "source_file": "dasp.py", "source_location": "L123", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_dasp_daspmsg_init", "label": ".__init__()", "file_type": "code", "source_file": "dasp.py", "source_location": "L126", "_callable": true}, {"id": "$graphify-root$_dasp_daspmsg_decode", "label": ".decode()", "file_type": "code", "source_file": "dasp.py", "source_location": "L152", "_callable": true}, {"id": "$graphify-root$_dasp_daspmsg_encode", "label": ".encode()", "file_type": "code", "source_file": "dasp.py", "source_location": "L212", "_callable": true}, {"id": "$graphify-root$_dasp_daspmsg_encode_into", "label": "._encode_into()", "file_type": "code", "source_file": "dasp.py", "source_location": "L217", "_callable": true}, {"id": "$graphify-root$_dasp_put_u2", "label": "_put_u2()", "file_type": "code", "source_file": "dasp.py", "source_location": "L295", "_callable": true}, {"id": "$graphify-root$_dasp_put_str", "label": "_put_str()", "file_type": "code", "source_file": "dasp.py", "source_location": "L300", "_callable": true}, {"id": "$graphify-root$_dasp_put_bytes", "label": "_put_bytes()", "file_type": "code", "source_file": "dasp.py", "source_location": "L307", "_callable": true}, {"id": "$graphify-root$_dasp_receivewindow", "label": "ReceiveWindow", "file_type": "code", "source_file": "dasp.py", "source_location": "L318", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_dasp_receivewindow_init_1939f2", "label": ".__init__()", "file_type": "code", "source_file": "dasp.py", "source_location": "L323", "_callable": true}, {"id": "$graphify-root$_dasp_receivewindow_unacked", "label": ".unacked()", "file_type": "code", "source_file": "dasp.py", "source_location": "L330", "_callable": true}, {"id": "$graphify-root$_dasp_receivewindow_init", "label": ".init()", "file_type": "code", "source_file": "dasp.py", "source_location": "L334", "_callable": true}, {"id": "$graphify-root$_dasp_receivewindow_set_ack_headers", "label": ".set_ack_headers()", "file_type": "code", "source_file": "dasp.py", "source_location": "L342", "_callable": true}, {"id": "$graphify-root$_dasp_receivewindow_receive", "label": ".receive()", "file_type": "code", "source_file": "dasp.py", "source_location": "L354", "_callable": true}, {"id": "$graphify-root$_dasp_to_ack_more", "label": "_to_ack_more()", "file_type": "code", "source_file": "dasp.py", "source_location": "L393", "_callable": true}, {"id": "$graphify-root$_dasp_packet", "label": "_Packet", "file_type": "code", "source_file": "dasp.py", "source_location": "L408", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_dasp_packet_init", "label": ".__init__()", "file_type": "code", "source_file": "dasp.py", "source_location": "L412", "_callable": true}, {"id": "$graphify-root$_dasp_sendwindow", "label": "SendWindow", "file_type": "code", "source_file": "dasp.py", "source_location": "L422", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_dasp_sendwindow_init", "label": ".__init__()", "file_type": "code", "source_file": "dasp.py", "source_location": "L427", "_callable": true}, {"id": "$graphify-root$_dasp_sendwindow_size", "label": ".size()", "file_type": "code", "source_file": "dasp.py", "source_location": "L441", "_callable": true}, {"id": "$graphify-root$_dasp_sendwindow_cur_seq_num", "label": ".cur_seq_num()", "file_type": "code", "source_file": "dasp.py", "source_location": "L445", "_callable": true}, {"id": "$graphify-root$_dasp_sendwindow_kill", "label": ".kill()", "file_type": "code", "source_file": "dasp.py", "source_location": "L448", "_callable": true}, {"id": "$graphify-root$_dasp_sendwindow_clear", "label": ".clear()", "file_type": "code", "source_file": "dasp.py", "source_location": "L453", "_callable": true}, {"id": "$graphify-root$_dasp_sendwindow_send", "label": ".send()", "file_type": "code", "source_file": "dasp.py", "source_location": "L460", "_callable": true}, {"id": "$graphify-root$_dasp_sendwindow_enqueue", "label": "._enqueue()", "file_type": "code", "source_file": "dasp.py", "source_location": "L472", "_callable": true}, {"id": "$graphify-root$_dasp_sendwindow_full", "label": "._full()", "file_type": "code", "source_file": "dasp.py", "source_location": "L486", "_callable": true}, {"id": "$graphify-root$_dasp_sendwindow_exceeds_ack_more_limit", "label": "._exceeds_ack_more_limit()", "file_type": "code", "source_file": "dasp.py", "source_location": "L489", "_callable": true}, {"id": "$graphify-root$_dasp_sendwindow_to_msg", "label": "._to_msg()", "file_type": "code", "source_file": "dasp.py", "source_location": "L496", "_callable": true}, {"id": "$graphify-root$_dasp_sendwindow_check_ack_headers", "label": ".check_ack_headers()", "file_type": "code", "source_file": "dasp.py", "source_location": "L505", "_callable": true}, {"id": "$graphify-root$_dasp_sendwindow_track_dup_acks", "label": "._track_dup_acks()", "file_type": "code", "source_file": "dasp.py", "source_location": "L533", "_callable": true}, {"id": "$graphify-root$_dasp_sendwindow_is_acked", "label": "._is_acked()", "file_type": "code", "source_file": "dasp.py", "source_location": "L546", "_callable": true}, {"id": "$graphify-root$_dasp_sendwindow_send_retries", "label": ".send_retries()", "file_type": "code", "source_file": "dasp.py", "source_location": "L565", "_callable": true}, {"id": "$graphify-root$_dasp_sendwindow_resend", "label": "._resend()", "file_type": "code", "source_file": "dasp.py", "source_location": "L581", "_callable": true}, {"id": "$graphify-root$_dasp_daspsession", "label": "DaspSession", "file_type": "code", "source_file": "dasp.py", "source_location": "L592", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_dasp_daspsession_init", "label": ".__init__()", "file_type": "code", "source_file": "dasp.py", "source_location": "L598", "_callable": true}, {"id": "$graphify-root$_dasp_daspsession_connect", "label": ".connect()", "file_type": "code", "source_file": "dasp.py", "source_location": "L636", "_callable": true}, {"id": "$graphify-root$_dasp_daspsession_hello", "label": "._hello()", "file_type": "code", "source_file": "dasp.py", "source_location": "L657", "_callable": true}, {"id": "$graphify-root$_dasp_daspsession_authenticate", "label": "._authenticate()", "file_type": "code", "source_file": "dasp.py", "source_location": "L679", "_callable": true}, {"id": "$graphify-root$_dasp_daspsession_tune", "label": "._tune()", "file_type": "code", "source_file": "dasp.py", "source_location": "L714", "_callable": true}, {"id": "$graphify-root$_dasp_daspsession_send", "label": ".send()", "file_type": "code", "source_file": "dasp.py", "source_location": "L730", "_callable": true}, {"id": "$graphify-root$_dasp_daspsession_receive", "label": ".receive()", "file_type": "code", "source_file": "dasp.py", "source_location": "L735", "_callable": true}, {"id": "$graphify-root$_dasp_daspsession_send_raw", "label": "._send_raw()", "file_type": "code", "source_file": "dasp.py", "source_location": "L750", "_callable": true}, {"id": "$graphify-root$_dasp_daspsession_dispatch", "label": ".dispatch()", "file_type": "code", "source_file": "dasp.py", "source_location": "L758", "_callable": true}, {"id": "$graphify-root$_dasp_daspsession_enqueue", "label": "._enqueue()", "file_type": "code", "source_file": "dasp.py", "source_location": "L779", "_callable": true}, {"id": "$graphify-root$_dasp_daspsession_housekeeping", "label": ".housekeeping()", "file_type": "code", "source_file": "dasp.py", "source_location": "L787", "_callable": true}, {"id": "$graphify-root$_dasp_daspsession_keepalive", "label": "._keepalive()", "file_type": "code", "source_file": "dasp.py", "source_location": "L804", "_callable": true}, {"id": "$graphify-root$_dasp_daspsession_close", "label": ".close()", "file_type": "code", "source_file": "dasp.py", "source_location": "L814", "_callable": true}, {"id": "$graphify-root$_dasp_daspsession_shutdown", "label": "._shutdown()", "file_type": "code", "source_file": "dasp.py", "source_location": "L830", "_callable": true}, {"id": "$graphify-root$_dasp_daspsocket", "label": "DaspSocket", "file_type": "code", "source_file": "dasp.py", "source_location": "L854", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_dasp_daspsocket_init", "label": ".__init__()", "file_type": "code", "source_file": "dasp.py", "source_location": "L860", "_callable": true}, {"id": "$graphify-root$_dasp_daspsocket_port", "label": ".port()", "file_type": "code", "source_file": "dasp.py", "source_location": "L882", "_callable": true}, {"id": "$graphify-root$_dasp_daspsocket_is_closed", "label": ".is_closed()", "file_type": "code", "source_file": "dasp.py", "source_location": "L886", "_callable": true}, {"id": "$graphify-root$_dasp_daspsocket_connect", "label": ".connect()", "file_type": "code", "source_file": "dasp.py", "source_location": "L889", "_callable": true}, {"id": "$graphify-root$_dasp_daspsocket_close", "label": ".close()", "file_type": "code", "source_file": "dasp.py", "source_location": "L898", "_callable": true}, {"id": "$graphify-root$_dasp_daspsocket_alloc_session", "label": "._alloc_session()", "file_type": "code", "source_file": "dasp.py", "source_location": "L915", "_callable": true}, {"id": "$graphify-root$_dasp_daspsocket_free_session", "label": "._free_session()", "file_type": "code", "source_file": "dasp.py", "source_location": "L925", "_callable": true}, {"id": "$graphify-root$_dasp_daspsocket_send_msg", "label": "._send_msg()", "file_type": "code", "source_file": "dasp.py", "source_location": "L931", "_callable": true}, {"id": "$graphify-root$_dasp_daspsocket_receiver_loop", "label": "._receiver_loop()", "file_type": "code", "source_file": "dasp.py", "source_location": "L940", "_callable": true}, {"id": "$graphify-root$_dasp_daspsocket_discover", "label": ".discover()", "file_type": "code", "source_file": "dasp.py", "source_location": "L957", "_callable": true}, {"id": "$graphify-root$_dasp_daspsocket_dispatch", "label": "._dispatch()", "file_type": "code", "source_file": "dasp.py", "source_location": "L998", "_callable": true}, {"id": "$graphify-root$_dasp_daspsocket_housekeeping_loop", "label": "._housekeeping_loop()", "file_type": "code", "source_file": "dasp.py", "source_location": "L1015", "_callable": true}, {"id": "$graphify-root$_dasp_ticks", "label": "_ticks()", "file_type": "code", "source_file": "dasp.py", "source_location": "L1031", "_callable": true}, {"id": "$graphify-root$_dasp_rationale_1", "label": "DASP (Datagram Authenticated Session Protocol) transport layer. Ported from\u2026", "file_type": "rationale", "source_file": "dasp.py", "source_location": "L1"}, {"id": "$graphify-root$_dasp_rationale_124", "label": "Binary encoder/decoder for DASP messages.", "file_type": "rationale", "source_file": "dasp.py", "source_location": "L124"}, {"id": "$graphify-root$_dasp_rationale_319", "label": "Manages incoming message sequence numbers and acknowledgements.", "file_type": "rationale", "source_file": "dasp.py", "source_location": "L319"}, {"id": "$graphify-root$_dasp_rationale_423", "label": "Manages the outgoing datagram queue with reliable delivery.", "file_type": "rationale", "source_file": "dasp.py", "source_location": "L423"}, {"id": "$graphify-root$_dasp_rationale_593", "label": "Client endpoint of a DASP session. Handles the handshake, keepalive, reliable\u2026", "file_type": "rationale", "source_file": "dasp.py", "source_location": "L593"}, {"id": "$graphify-root$_dasp_rationale_855", "label": "Manages a UDP socket shared by DASP sessions. Provides receiver and\u2026", "file_type": "rationale", "source_file": "dasp.py", "source_location": "L855"}, {"id": "$graphify-root$_dasp_rationale_958", "label": "Send DASP DISCOVER broadcast and collect responding devices. Returns a list of\u2026", "file_type": "rationale", "source_file": "dasp.py", "source_location": "L958"}, {"id": "$graphify-root$_dasp_rationale_1032", "label": "Monotonic time in seconds (float).", "file_type": "rationale", "source_file": "dasp.py", "source_location": "L1032"}], "edges": [{"source": "$graphify-root$_dasp_py", "target": "hashlib", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_dasp_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_dasp_py", "target": "queue", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_dasp_py", "target": "random", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L12", "weight": 1.0}, {"source": "$graphify-root$_dasp_py", "target": "socket", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L13", "weight": 1.0}, {"source": "$graphify-root$_dasp_py", "target": "struct", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L14", "weight": 1.0}, {"source": "$graphify-root$_dasp_py", "target": "threading", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L15", "weight": 1.0}, {"source": "$graphify-root$_dasp_py", "target": "time", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L16", "weight": 1.0}, {"source": "$graphify-root$_dasp_py", "target": "$graphify-root$_dasp_trace", "relation": "contains", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L88", "weight": 1.0}, {"source": "$graphify-root$_dasp_py", "target": "$graphify-root$_dasp_daspexception", "relation": "contains", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L112", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspexception", "target": "exception", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L112", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspexception", "target": "$graphify-root$_dasp_daspexception_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L113", "weight": 1.0}, {"source": "$graphify-root$_dasp_py", "target": "$graphify-root$_dasp_daspmsg", "relation": "contains", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L123", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspmsg", "target": "$graphify-root$_dasp_daspmsg_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L126", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspmsg", "target": "$graphify-root$_dasp_daspmsg_decode", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L152", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspmsg", "target": "$graphify-root$_dasp_daspmsg_decode", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L159", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspmsg", "target": "$graphify-root$_dasp_daspmsg_encode", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L212", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspmsg", "target": "$graphify-root$_dasp_daspmsg_encode_into", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L217", "weight": 1.0}, {"source": "$graphify-root$_dasp_py", "target": "$graphify-root$_dasp_put_u2", "relation": "contains", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L295", "weight": 1.0}, {"source": "$graphify-root$_dasp_py", "target": "$graphify-root$_dasp_put_str", "relation": "contains", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L300", "weight": 1.0}, {"source": "$graphify-root$_dasp_py", "target": "$graphify-root$_dasp_put_bytes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L307", "weight": 1.0}, {"source": "$graphify-root$_dasp_py", "target": "$graphify-root$_dasp_receivewindow", "relation": "contains", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L318", "weight": 1.0}, {"source": "$graphify-root$_dasp_receivewindow", "target": "$graphify-root$_dasp_receivewindow_init_1939f2", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L323", "weight": 1.0}, {"source": "$graphify-root$_dasp_receivewindow", "target": "$graphify-root$_dasp_receivewindow_unacked", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L330", "weight": 1.0}, {"source": "$graphify-root$_dasp_receivewindow", "target": "$graphify-root$_dasp_receivewindow_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L334", "weight": 1.0}, {"source": "$graphify-root$_dasp_receivewindow", "target": "$graphify-root$_dasp_receivewindow_set_ack_headers", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L342", "weight": 1.0}, {"source": "$graphify-root$_dasp_receivewindow", "target": "$graphify-root$_dasp_receivewindow_receive", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L354", "weight": 1.0}, {"source": "$graphify-root$_dasp_py", "target": "$graphify-root$_dasp_to_ack_more", "relation": "contains", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L393", "weight": 1.0}, {"source": "$graphify-root$_dasp_py", "target": "$graphify-root$_dasp_packet", "relation": "contains", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L408", "weight": 1.0}, {"source": "$graphify-root$_dasp_packet", "target": "$graphify-root$_dasp_packet_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L412", "weight": 1.0}, {"source": "$graphify-root$_dasp_py", "target": "$graphify-root$_dasp_sendwindow", "relation": "contains", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L422", "weight": 1.0}, {"source": "$graphify-root$_dasp_sendwindow", "target": "$graphify-root$_dasp_sendwindow_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L427", "weight": 1.0}, {"source": "$graphify-root$_dasp_sendwindow", "target": "$graphify-root$_dasp_sendwindow_size", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L441", "weight": 1.0}, {"source": "$graphify-root$_dasp_sendwindow", "target": "$graphify-root$_dasp_sendwindow_cur_seq_num", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L445", "weight": 1.0}, {"source": "$graphify-root$_dasp_sendwindow", "target": "$graphify-root$_dasp_sendwindow_kill", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L448", "weight": 1.0}, {"source": "$graphify-root$_dasp_sendwindow", "target": "$graphify-root$_dasp_sendwindow_clear", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L453", "weight": 1.0}, {"source": "$graphify-root$_dasp_sendwindow", "target": "$graphify-root$_dasp_sendwindow_send", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L460", "weight": 1.0}, {"source": "$graphify-root$_dasp_sendwindow", "target": "$graphify-root$_dasp_sendwindow_enqueue", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L472", "weight": 1.0}, {"source": "$graphify-root$_dasp_sendwindow", "target": "$graphify-root$_dasp_sendwindow_full", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L486", "weight": 1.0}, {"source": "$graphify-root$_dasp_sendwindow", "target": "$graphify-root$_dasp_sendwindow_exceeds_ack_more_limit", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L489", "weight": 1.0}, {"source": "$graphify-root$_dasp_sendwindow", "target": "$graphify-root$_dasp_sendwindow_to_msg", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L496", "weight": 1.0}, {"source": "$graphify-root$_dasp_sendwindow", "target": "$graphify-root$_dasp_sendwindow_check_ack_headers", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L505", "weight": 1.0}, {"source": "$graphify-root$_dasp_sendwindow", "target": "$graphify-root$_dasp_sendwindow_track_dup_acks", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L533", "weight": 1.0}, {"source": "$graphify-root$_dasp_sendwindow", "target": "$graphify-root$_dasp_sendwindow_is_acked", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L546", "weight": 1.0}, {"source": "$graphify-root$_dasp_sendwindow", "target": "$graphify-root$_dasp_sendwindow_send_retries", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L565", "weight": 1.0}, {"source": "$graphify-root$_dasp_sendwindow", "target": "$graphify-root$_dasp_sendwindow_resend", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L581", "weight": 1.0}, {"source": "$graphify-root$_dasp_py", "target": "$graphify-root$_dasp_daspsession", "relation": "contains", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L592", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsession", "target": "$graphify-root$_dasp_daspsession_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L598", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsession", "target": "$graphify-root$_dasp_daspsession_connect", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L636", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsession", "target": "$graphify-root$_dasp_daspsession_hello", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L657", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsession", "target": "$graphify-root$_dasp_daspsession_authenticate", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L679", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsession", "target": "$graphify-root$_dasp_daspsession_tune", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L714", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsession", "target": "$graphify-root$_dasp_daspsession_send", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L730", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsession", "target": "$graphify-root$_dasp_daspsession_receive", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L735", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsession", "target": "$graphify-root$_dasp_daspsession_send_raw", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L750", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsession", "target": "$graphify-root$_dasp_daspsession_dispatch", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L758", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsession", "target": "$graphify-root$_dasp_daspsession_enqueue", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L779", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsession", "target": "$graphify-root$_dasp_daspsession_housekeeping", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L787", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsession", "target": "$graphify-root$_dasp_daspsession_keepalive", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L804", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsession", "target": "$graphify-root$_dasp_daspsession_close", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L814", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsession", "target": "$graphify-root$_dasp_daspsession_shutdown", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L830", "weight": 1.0}, {"source": "$graphify-root$_dasp_py", "target": "$graphify-root$_dasp_daspsocket", "relation": "contains", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L854", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsocket", "target": "$graphify-root$_dasp_daspsocket_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L860", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsocket", "target": "$graphify-root$_dasp_daspsocket_port", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L882", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsocket", "target": "$graphify-root$_dasp_daspsocket_is_closed", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L886", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsocket", "target": "$graphify-root$_dasp_daspsocket_connect", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L889", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsocket", "target": "$graphify-root$_dasp_daspsocket_close", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L898", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsocket", "target": "$graphify-root$_dasp_daspsocket_alloc_session", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L915", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsocket", "target": "$graphify-root$_dasp_daspsocket_free_session", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L925", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsocket", "target": "$graphify-root$_dasp_daspsocket_send_msg", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L931", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsocket", "target": "$graphify-root$_dasp_daspsocket_receiver_loop", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L940", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsocket", "target": "$graphify-root$_dasp_daspsocket_discover", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L957", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsocket", "target": "$graphify-root$_dasp_daspsocket_dispatch", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L998", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsocket", "target": "$graphify-root$_dasp_daspsocket_housekeeping_loop", "relation": "method", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L1015", "weight": 1.0}, {"source": "$graphify-root$_dasp_py", "target": "$graphify-root$_dasp_ticks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L1031", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspexception_init", "target": "$graphify-root$_dasp_daspsocket_init", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L115", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspmsg_decode", "target": "$graphify-root$_dasp_daspmsg", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L155", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspmsg_encode", "target": "$graphify-root$_dasp_daspmsg_encode_into", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L214", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspmsg_encode_into", "target": "$graphify-root$_dasp_put_u2", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L239", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspmsg_encode_into", "target": "$graphify-root$_dasp_put_str", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L245", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspmsg_encode_into", "target": "$graphify-root$_dasp_put_bytes", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L248", "weight": 1.0}, {"source": "$graphify-root$_dasp_receivewindow_set_ack_headers", "target": "$graphify-root$_dasp_to_ack_more", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L352", "weight": 1.0}, {"source": "$graphify-root$_dasp_sendwindow_send", "target": "$graphify-root$_dasp_packet", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L461", "weight": 1.0}, {"source": "$graphify-root$_dasp_sendwindow_send", "target": "$graphify-root$_dasp_ticks", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L462", "weight": 1.0}, {"source": "$graphify-root$_dasp_sendwindow_send", "target": "$graphify-root$_dasp_daspsession_enqueue", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L467", "weight": 1.0}, {"source": "$graphify-root$_dasp_sendwindow_send", "target": "$graphify-root$_dasp_sendwindow_to_msg", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L470", "weight": 1.0}, {"source": "$graphify-root$_dasp_sendwindow_enqueue", "target": "$graphify-root$_dasp_sendwindow_full", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L474", "weight": 1.0}, {"source": "$graphify-root$_dasp_sendwindow_enqueue", "target": "$graphify-root$_dasp_sendwindow_exceeds_ack_more_limit", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L474", "weight": 1.0}, {"source": "$graphify-root$_dasp_sendwindow_to_msg", "target": "$graphify-root$_dasp_daspmsg", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L497", "weight": 1.0}, {"source": "$graphify-root$_dasp_sendwindow_check_ack_headers", "target": "$graphify-root$_dasp_sendwindow_track_dup_acks", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L512", "weight": 1.0}, {"source": "$graphify-root$_dasp_sendwindow_check_ack_headers", "target": "$graphify-root$_dasp_sendwindow_is_acked", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L520", "weight": 1.0}, {"source": "$graphify-root$_dasp_sendwindow_track_dup_acks", "target": "$graphify-root$_dasp_sendwindow_resend", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L543", "weight": 1.0}, {"source": "$graphify-root$_dasp_sendwindow_send_retries", "target": "$graphify-root$_dasp_ticks", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L567", "weight": 1.0}, {"source": "$graphify-root$_dasp_sendwindow_send_retries", "target": "$graphify-root$_dasp_sendwindow_resend", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L576", "weight": 1.0}, {"source": "$graphify-root$_dasp_sendwindow_resend", "target": "$graphify-root$_dasp_ticks", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L582", "weight": 1.0}, {"source": "$graphify-root$_dasp_sendwindow_resend", "target": "$graphify-root$_dasp_sendwindow_to_msg", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L585", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsession_init", "target": "$graphify-root$_dasp_receivewindow", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L617", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsession_init", "target": "$graphify-root$_dasp_sendwindow", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L618", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsession_init", "target": "$graphify-root$_dasp_ticks", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L625", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsession_connect", "target": "$graphify-root$_dasp_daspsession_hello", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L637", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsession_connect", "target": "$graphify-root$_dasp_daspexception", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L640", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsession_connect", "target": "$graphify-root$_dasp_daspsession_authenticate", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L643", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsession_connect", "target": "$graphify-root$_dasp_daspsession_tune", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L653", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsession_hello", "target": "$graphify-root$_dasp_daspmsg", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L658", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsession_hello", "target": "$graphify-root$_dasp_daspsession_send_raw", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L671", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsession_hello", "target": "$graphify-root$_dasp_daspexception", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L677", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsession_authenticate", "target": "$graphify-root$_dasp_daspsocket_close", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L682", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsession_authenticate", "target": "$graphify-root$_dasp_daspexception", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L683", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsession_authenticate", "target": "$graphify-root$_dasp_daspmsg", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L695", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsession_authenticate", "target": "$graphify-root$_dasp_daspsession_send_raw", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L704", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsession_send", "target": "$graphify-root$_dasp_daspexception", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L732", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsession_receive", "target": "$graphify-root$_dasp_daspexception", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L737", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsession_send_raw", "target": "$graphify-root$_dasp_ticks", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L752", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsession_dispatch", "target": "$graphify-root$_dasp_ticks", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L760", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsession_dispatch", "target": "$graphify-root$_dasp_daspsession_enqueue", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L770", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsession_dispatch", "target": "$graphify-root$_dasp_daspsession_shutdown", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L775", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsession_enqueue", "target": "$graphify-root$_dasp_daspsocket_close", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L783", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsession_housekeeping", "target": "$graphify-root$_dasp_ticks", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L791", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsession_housekeeping", "target": "$graphify-root$_dasp_daspsocket_close", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L792", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsession_housekeeping", "target": "$graphify-root$_dasp_daspsession_keepalive", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L802", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsession_keepalive", "target": "$graphify-root$_dasp_daspmsg", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L805", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsession_keepalive", "target": "$graphify-root$_dasp_daspsession_send_raw", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L810", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsession_close", "target": "$graphify-root$_dasp_daspmsg", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L818", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsession_close", "target": "$graphify-root$_dasp_daspsession_send_raw", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L824", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsession_close", "target": "$graphify-root$_dasp_daspsession_shutdown", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L828", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsocket_connect", "target": "$graphify-root$_dasp_daspexception", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L891", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsocket_connect", "target": "$graphify-root$_dasp_daspsocket_alloc_session", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L892", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsocket_alloc_session", "target": "$graphify-root$_dasp_daspsession", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L921", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsocket_send_msg", "target": "$graphify-root$_dasp_trace", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L933", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsocket_receiver_loop", "target": "$graphify-root$_dasp_daspsocket_dispatch", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L949", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsocket_discover", "target": "$graphify-root$_dasp_daspmsg", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L965", "weight": 1.0}, {"source": "$graphify-root$_dasp_daspsocket_dispatch", "target": "$graphify-root$_dasp_trace", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L999", "weight": 1.0}, {"source": "$graphify-root$_dasp_rationale_1", "target": "$graphify-root$_dasp_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_dasp_rationale_124", "target": "$graphify-root$_dasp_daspmsg", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L124", "weight": 1.0}, {"source": "$graphify-root$_dasp_rationale_319", "target": "$graphify-root$_dasp_receivewindow", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L319", "weight": 1.0}, {"source": "$graphify-root$_dasp_rationale_423", "target": "$graphify-root$_dasp_sendwindow", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L423", "weight": 1.0}, {"source": "$graphify-root$_dasp_rationale_593", "target": "$graphify-root$_dasp_daspsession", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L593", "weight": 1.0}, {"source": "$graphify-root$_dasp_rationale_855", "target": "$graphify-root$_dasp_daspsocket", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L855", "weight": 1.0}, {"source": "$graphify-root$_dasp_rationale_958", "target": "$graphify-root$_dasp_daspsocket_discover", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L958", "weight": 1.0}, {"source": "$graphify-root$_dasp_rationale_1032", "target": "$graphify-root$_dasp_ticks", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "dasp.py", "source_location": "L1032", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_dasp_trace", "callee": "strftime", "is_member_call": true, "source_file": "dasp.py", "source_location": "L93", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_trace", "callee": "now", "is_member_call": true, "source_file": "dasp.py", "source_location": "L93", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_trace", "callee": "get", "is_member_call": true, "source_file": "dasp.py", "source_location": "L94", "receiver": "_MSG_TYPE_NAMES"}, {"caller_nid": "$graphify-root$_dasp_trace", "callee": "hex", "is_member_call": true, "source_file": "dasp.py", "source_location": "L100", "receiver": "datagram"}, {"caller_nid": "$graphify-root$_dasp_daspexception_init", "callee": "get", "is_member_call": true, "source_file": "dasp.py", "source_location": "L114", "receiver": "_ERROR_HINTS"}, {"caller_nid": "$graphify-root$_dasp_daspmsg_decode", "callee": "_decode", "is_member_call": true, "source_file": "dasp.py", "source_location": "L156", "receiver": "msg"}, {"caller_nid": "$graphify-root$_dasp_daspmsg_decode", "callee": "msg", "is_member_call": false, "indirect": true, "context": "return", "source_file": "dasp.py", "source_location": "L157"}, {"caller_nid": "$graphify-root$_dasp_daspmsg_decode", "callee": "decode", "is_member_call": true, "source_file": "dasp.py", "source_location": "L184", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_daspmsg_encode", "callee": "bytearray", "is_member_call": false, "source_file": "dasp.py", "source_location": "L213", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_daspmsg_encode", "callee": "ABS_MAX_VAL", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "dasp.py", "source_location": "L213"}, {"caller_nid": "$graphify-root$_dasp_daspmsg_encode_into", "callee": "pack_into", "is_member_call": true, "source_file": "dasp.py", "source_location": "L218", "receiver": "struct"}, {"caller_nid": "$graphify-root$_dasp_daspmsg_encode_into", "callee": "HDR_MESSAGE_LEN", "is_member_call": false, "indirect": true, "context": "assignment", "source_file": "dasp.py", "source_location": "L232"}, {"caller_nid": "$graphify-root$_dasp_daspmsg_encode_into", "callee": "HDR_VERSION", "is_member_call": false, "indirect": true, "context": "assignment", "source_file": "dasp.py", "source_location": "L238"}, {"caller_nid": "$graphify-root$_dasp_daspmsg_encode_into", "callee": "HDR_REMOTE_ID", "is_member_call": false, "indirect": true, "context": "assignment", "source_file": "dasp.py", "source_location": "L241"}, {"caller_nid": "$graphify-root$_dasp_daspmsg_encode_into", "callee": "HDR_DIGEST_ALGORITHM", "is_member_call": false, "indirect": true, "context": "assignment", "source_file": "dasp.py", "source_location": "L244"}, {"caller_nid": "$graphify-root$_dasp_daspmsg_encode_into", "callee": "HDR_NONCE", "is_member_call": false, "indirect": true, "context": "assignment", "source_file": "dasp.py", "source_location": "L247"}, {"caller_nid": "$graphify-root$_dasp_daspmsg_encode_into", "callee": "HDR_USERNAME", "is_member_call": false, "indirect": true, "context": "assignment", "source_file": "dasp.py", "source_location": "L250"}, {"caller_nid": "$graphify-root$_dasp_daspmsg_encode_into", "callee": "HDR_DIGEST", "is_member_call": false, "indirect": true, "context": "assignment", "source_file": "dasp.py", "source_location": "L253"}, {"caller_nid": "$graphify-root$_dasp_daspmsg_encode_into", "callee": "HDR_IDEAL_MAX", "is_member_call": false, "indirect": true, "context": "assignment", "source_file": "dasp.py", "source_location": "L256"}, {"caller_nid": "$graphify-root$_dasp_daspmsg_encode_into", "callee": "HDR_ABS_MAX", "is_member_call": false, "indirect": true, "context": "assignment", "source_file": "dasp.py", "source_location": "L259"}, {"caller_nid": "$graphify-root$_dasp_daspmsg_encode_into", "callee": "HDR_ACK", "is_member_call": false, "indirect": true, "context": "assignment", "source_file": "dasp.py", "source_location": "L262"}, {"caller_nid": "$graphify-root$_dasp_daspmsg_encode_into", "callee": "HDR_ACK_MORE", "is_member_call": false, "indirect": true, "context": "assignment", "source_file": "dasp.py", "source_location": "L265"}, {"caller_nid": "$graphify-root$_dasp_daspmsg_encode_into", "callee": "HDR_RECEIVE_MAX", "is_member_call": false, "indirect": true, "context": "assignment", "source_file": "dasp.py", "source_location": "L268"}, {"caller_nid": "$graphify-root$_dasp_daspmsg_encode_into", "callee": "HDR_RECEIVE_TIMEOUT", "is_member_call": false, "indirect": true, "context": "assignment", "source_file": "dasp.py", "source_location": "L271"}, {"caller_nid": "$graphify-root$_dasp_daspmsg_encode_into", "callee": "HDR_ERROR_CODE", "is_member_call": false, "indirect": true, "context": "assignment", "source_file": "dasp.py", "source_location": "L274"}, {"caller_nid": "$graphify-root$_dasp_daspmsg_encode_into", "callee": "HDR_PLATFORM_ID", "is_member_call": false, "indirect": true, "context": "assignment", "source_file": "dasp.py", "source_location": "L277"}, {"caller_nid": "$graphify-root$_dasp_put_str", "callee": "encode", "is_member_call": true, "source_file": "dasp.py", "source_location": "L301", "receiver": "val"}, {"caller_nid": "$graphify-root$_dasp_receivewindow_init_1939f2", "callee": "Lock", "is_member_call": true, "source_file": "dasp.py", "source_location": "L325", "receiver": "threading"}, {"caller_nid": "$graphify-root$_dasp_receivewindow_init", "callee": "RuntimeError", "is_member_call": false, "source_file": "dasp.py", "source_location": "L337", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_receivewindow_receive", "callee": "RuntimeError", "is_member_call": false, "source_file": "dasp.py", "source_location": "L357", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_receivewindow_receive", "callee": "RuntimeError", "is_member_call": false, "source_file": "dasp.py", "source_location": "L359", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_sendwindow_init", "callee": "Condition", "is_member_call": true, "source_file": "dasp.py", "source_location": "L429", "receiver": "threading"}, {"caller_nid": "$graphify-root$_dasp_sendwindow_init", "callee": "randint", "is_member_call": true, "source_file": "dasp.py", "source_location": "L434", "receiver": "random"}, {"caller_nid": "$graphify-root$_dasp_sendwindow_kill", "callee": "notify_all", "is_member_call": true, "source_file": "dasp.py", "source_location": "L451", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_sendwindow_clear", "callee": "notify_all", "is_member_call": true, "source_file": "dasp.py", "source_location": "L458", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_sendwindow_send", "callee": "_send_raw", "is_member_call": true, "source_file": "dasp.py", "source_location": "L470", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_sendwindow_enqueue", "callee": "wait", "is_member_call": true, "source_file": "dasp.py", "source_location": "L475", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_sendwindow_enqueue", "callee": "notify_all", "is_member_call": true, "source_file": "dasp.py", "source_location": "L484", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_sendwindow_to_msg", "callee": "DATAGRAM", "is_member_call": false, "indirect": true, "context": "assignment", "source_file": "dasp.py", "source_location": "L498"}, {"caller_nid": "$graphify-root$_dasp_sendwindow_to_msg", "callee": "set_ack_headers", "is_member_call": true, "source_file": "dasp.py", "source_location": "L502", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_sendwindow_check_ack_headers", "callee": "notify_all", "is_member_call": true, "source_file": "dasp.py", "source_location": "L531", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_sendwindow_resend", "callee": "_send_raw", "is_member_call": true, "source_file": "dasp.py", "source_location": "L585", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_daspsession_init", "callee": "gethostbyname", "is_member_call": true, "source_file": "dasp.py", "source_location": "L601", "receiver": "socket"}, {"caller_nid": "$graphify-root$_dasp_daspsession_init", "callee": "get", "is_member_call": true, "source_file": "dasp.py", "source_location": "L609", "receiver": "options"}, {"caller_nid": "$graphify-root$_dasp_daspsession_init", "callee": "IDEAL_MAX_DEF", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "dasp.py", "source_location": "L609"}, {"caller_nid": "$graphify-root$_dasp_daspsession_init", "callee": "get", "is_member_call": true, "source_file": "dasp.py", "source_location": "L610", "receiver": "options"}, {"caller_nid": "$graphify-root$_dasp_daspsession_init", "callee": "ABS_MAX_DEF", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "dasp.py", "source_location": "L610"}, {"caller_nid": "$graphify-root$_dasp_daspsession_init", "callee": "get", "is_member_call": true, "source_file": "dasp.py", "source_location": "L611", "receiver": "options"}, {"caller_nid": "$graphify-root$_dasp_daspsession_init", "callee": "RECEIVE_TIMEOUT_VAL", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "dasp.py", "source_location": "L611"}, {"caller_nid": "$graphify-root$_dasp_daspsession_init", "callee": "get", "is_member_call": true, "source_file": "dasp.py", "source_location": "L612", "receiver": "options"}, {"caller_nid": "$graphify-root$_dasp_daspsession_init", "callee": "CONNECT_TIMEOUT_VAL", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "dasp.py", "source_location": "L612"}, {"caller_nid": "$graphify-root$_dasp_daspsession_init", "callee": "get", "is_member_call": true, "source_file": "dasp.py", "source_location": "L613", "receiver": "options"}, {"caller_nid": "$graphify-root$_dasp_daspsession_init", "callee": "ACK_MORE_BYTE_LIMIT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "dasp.py", "source_location": "L613"}, {"caller_nid": "$graphify-root$_dasp_daspsession_init", "callee": "get", "is_member_call": true, "source_file": "dasp.py", "source_location": "L614", "receiver": "options"}, {"caller_nid": "$graphify-root$_dasp_daspsession_init", "callee": "DIGEST_ALGORITHM", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "dasp.py", "source_location": "L614"}, {"caller_nid": "$graphify-root$_dasp_daspsession_init", "callee": "get", "is_member_call": true, "source_file": "dasp.py", "source_location": "L615", "receiver": "options"}, {"caller_nid": "$graphify-root$_dasp_daspsession_init", "callee": "get", "is_member_call": true, "source_file": "dasp.py", "source_location": "L619", "receiver": "options"}, {"caller_nid": "$graphify-root$_dasp_daspsession_init", "callee": "SEND_RETRY_VAL", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "dasp.py", "source_location": "L619"}, {"caller_nid": "$graphify-root$_dasp_daspsession_init", "callee": "get", "is_member_call": true, "source_file": "dasp.py", "source_location": "L620", "receiver": "options"}, {"caller_nid": "$graphify-root$_dasp_daspsession_init", "callee": "MAX_RETRY_BACKOFF", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "dasp.py", "source_location": "L620"}, {"caller_nid": "$graphify-root$_dasp_daspsession_init", "callee": "Queue", "is_member_call": true, "source_file": "dasp.py", "source_location": "L622", "receiver": "queue"}, {"caller_nid": "$graphify-root$_dasp_daspsession_init", "callee": "RECEIVE_MAX_DEF", "is_member_call": false, "indirect": true, "context": "assignment", "source_file": "dasp.py", "source_location": "L623"}, {"caller_nid": "$graphify-root$_dasp_daspsession_init", "callee": "RLock", "is_member_call": true, "source_file": "dasp.py", "source_location": "L631", "receiver": "threading"}, {"caller_nid": "$graphify-root$_dasp_daspsession_hello", "callee": "HELLO", "is_member_call": false, "indirect": true, "context": "assignment", "source_file": "dasp.py", "source_location": "L659"}, {"caller_nid": "$graphify-root$_dasp_daspsession_hello", "callee": "cur_seq_num", "is_member_call": true, "source_file": "dasp.py", "source_location": "L661", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_daspsession_hello", "callee": "VERSION_VAL", "is_member_call": false, "indirect": true, "context": "assignment", "source_file": "dasp.py", "source_location": "L663"}, {"caller_nid": "$graphify-root$_dasp_daspsession_hello", "callee": "RECEIVE_MAX_VAL", "is_member_call": false, "indirect": true, "context": "assignment", "source_file": "dasp.py", "source_location": "L666"}, {"caller_nid": "$graphify-root$_dasp_daspsession_hello", "callee": "get", "is_member_call": true, "source_file": "dasp.py", "source_location": "L673", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_daspsession_authenticate", "callee": "ERR_DIGEST_NOT_SUPPORTED", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "dasp.py", "source_location": "L682"}, {"caller_nid": "$graphify-root$_dasp_daspsession_authenticate", "callee": "ERR_DIGEST_NOT_SUPPORTED", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "dasp.py", "source_location": "L683"}, {"caller_nid": "$graphify-root$_dasp_daspsession_authenticate", "callee": "digest", "is_member_call": true, "source_file": "dasp.py", "source_location": "L686", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_daspsession_authenticate", "callee": "sha1", "is_member_call": true, "source_file": "dasp.py", "source_location": "L686", "receiver": "hashlib"}, {"caller_nid": "$graphify-root$_dasp_daspsession_authenticate", "callee": "encode", "is_member_call": true, "source_file": "dasp.py", "source_location": "L686", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_daspsession_authenticate", "callee": "new", "is_member_call": true, "source_file": "dasp.py", "source_location": "L690", "receiver": "hashlib"}, {"caller_nid": "$graphify-root$_dasp_daspsession_authenticate", "callee": "update", "is_member_call": true, "source_file": "dasp.py", "source_location": "L691", "receiver": "md"}, {"caller_nid": "$graphify-root$_dasp_daspsession_authenticate", "callee": "update", "is_member_call": true, "source_file": "dasp.py", "source_location": "L692", "receiver": "md"}, {"caller_nid": "$graphify-root$_dasp_daspsession_authenticate", "callee": "digest", "is_member_call": true, "source_file": "dasp.py", "source_location": "L693", "receiver": "md"}, {"caller_nid": "$graphify-root$_dasp_daspsession_authenticate", "callee": "AUTHENTICATE", "is_member_call": false, "indirect": true, "context": "assignment", "source_file": "dasp.py", "source_location": "L696"}, {"caller_nid": "$graphify-root$_dasp_daspsession_authenticate", "callee": "cur_seq_num", "is_member_call": true, "source_file": "dasp.py", "source_location": "L698", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_daspsession_authenticate", "callee": "get", "is_member_call": true, "source_file": "dasp.py", "source_location": "L706", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_daspsession_tune", "callee": "init", "is_member_call": true, "source_file": "dasp.py", "source_location": "L726", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_daspsession_send", "callee": "send", "is_member_call": true, "source_file": "dasp.py", "source_location": "L733", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_daspsession_receive", "callee": "get", "is_member_call": true, "source_file": "dasp.py", "source_location": "L739", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_daspsession_send_raw", "callee": "_send_msg", "is_member_call": true, "source_file": "dasp.py", "source_location": "L754", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_daspsession_dispatch", "callee": "check_ack_headers", "is_member_call": true, "source_file": "dasp.py", "source_location": "L765", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_daspsession_dispatch", "callee": "receive", "is_member_call": true, "source_file": "dasp.py", "source_location": "L768", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_daspsession_dispatch", "callee": "CHALLENGE", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "dasp.py", "source_location": "L771"}, {"caller_nid": "$graphify-root$_dasp_daspsession_dispatch", "callee": "WELCOME", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "dasp.py", "source_location": "L771"}, {"caller_nid": "$graphify-root$_dasp_daspsession_enqueue", "callee": "put_nowait", "is_member_call": true, "source_file": "dasp.py", "source_location": "L781", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_daspsession_enqueue", "callee": "ERR_TIMEOUT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "dasp.py", "source_location": "L783"}, {"caller_nid": "$graphify-root$_dasp_daspsession_housekeeping", "callee": "ERR_TIMEOUT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "dasp.py", "source_location": "L792"}, {"caller_nid": "$graphify-root$_dasp_daspsession_housekeeping", "callee": "send_retries", "is_member_call": true, "source_file": "dasp.py", "source_location": "L795", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_daspsession_housekeeping", "callee": "ERR_TIMEOUT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "dasp.py", "source_location": "L797"}, {"caller_nid": "$graphify-root$_dasp_daspsession_housekeeping", "callee": "unacked", "is_member_call": true, "source_file": "dasp.py", "source_location": "L800", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_daspsession_keepalive", "callee": "KEEPALIVE", "is_member_call": false, "indirect": true, "context": "assignment", "source_file": "dasp.py", "source_location": "L806"}, {"caller_nid": "$graphify-root$_dasp_daspsession_keepalive", "callee": "set_ack_headers", "is_member_call": true, "source_file": "dasp.py", "source_location": "L809", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_daspsession_close", "callee": "CLOSE", "is_member_call": false, "indirect": true, "context": "assignment", "source_file": "dasp.py", "source_location": "L819"}, {"caller_nid": "$graphify-root$_dasp_daspsession_close", "callee": "sleep", "is_member_call": true, "source_file": "dasp.py", "source_location": "L826", "receiver": "time"}, {"caller_nid": "$graphify-root$_dasp_daspsession_shutdown", "callee": "kill", "is_member_call": true, "source_file": "dasp.py", "source_location": "L836", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_daspsession_shutdown", "callee": "put_nowait", "is_member_call": true, "source_file": "dasp.py", "source_location": "L839", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_daspsession_shutdown", "callee": "on_close", "is_member_call": true, "source_file": "dasp.py", "source_location": "L844", "receiver": "self"}, {"caller_nid": "$graphify-root$_dasp_daspsession_shutdown", "callee": "_free_session", "is_member_call": true, "source_file": "dasp.py", "source_location": "L847", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_daspsocket_init", "callee": "socket", "is_member_call": true, "source_file": "dasp.py", "source_location": "L861", "receiver": "socket"}, {"caller_nid": "$graphify-root$_dasp_daspsocket_init", "callee": "settimeout", "is_member_call": true, "source_file": "dasp.py", "source_location": "L862", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_daspsocket_init", "callee": "bind", "is_member_call": true, "source_file": "dasp.py", "source_location": "L864", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_daspsocket_init", "callee": "bind", "is_member_call": true, "source_file": "dasp.py", "source_location": "L866", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_daspsocket_init", "callee": "Lock", "is_member_call": true, "source_file": "dasp.py", "source_location": "L869", "receiver": "threading"}, {"caller_nid": "$graphify-root$_dasp_daspsocket_init", "callee": "Random", "is_member_call": true, "source_file": "dasp.py", "source_location": "L871", "receiver": "random"}, {"caller_nid": "$graphify-root$_dasp_daspsocket_init", "callee": "Lock", "is_member_call": true, "source_file": "dasp.py", "source_location": "L872", "receiver": "threading"}, {"caller_nid": "$graphify-root$_dasp_daspsocket_init", "callee": "Thread", "is_member_call": true, "source_file": "dasp.py", "source_location": "L874", "receiver": "threading"}, {"caller_nid": "$graphify-root$_dasp_daspsocket_init", "callee": "Thread", "is_member_call": true, "source_file": "dasp.py", "source_location": "L876", "receiver": "threading"}, {"caller_nid": "$graphify-root$_dasp_daspsocket_init", "callee": "start", "is_member_call": true, "source_file": "dasp.py", "source_location": "L878", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_daspsocket_init", "callee": "start", "is_member_call": true, "source_file": "dasp.py", "source_location": "L879", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_daspsocket_port", "callee": "getsockname", "is_member_call": true, "source_file": "dasp.py", "source_location": "L883", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_daspsocket_connect", "callee": "connect", "is_member_call": true, "source_file": "dasp.py", "source_location": "L895", "receiver": "session"}, {"caller_nid": "$graphify-root$_dasp_daspsocket_close", "callee": "values", "is_member_call": true, "source_file": "dasp.py", "source_location": "L903", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_daspsocket_close", "callee": "close", "is_member_call": true, "source_file": "dasp.py", "source_location": "L905", "receiver": "s"}, {"caller_nid": "$graphify-root$_dasp_daspsocket_close", "callee": "close", "is_member_call": true, "source_file": "dasp.py", "source_location": "L909", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_daspsocket_alloc_session", "callee": "randint", "is_member_call": true, "source_file": "dasp.py", "source_location": "L918", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_daspsocket_free_session", "callee": "pop", "is_member_call": true, "source_file": "dasp.py", "source_location": "L927", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_daspsocket_send_msg", "callee": "encode", "is_member_call": true, "source_file": "dasp.py", "source_location": "L932", "receiver": "msg"}, {"caller_nid": "$graphify-root$_dasp_daspsocket_send_msg", "callee": "sendto", "is_member_call": true, "source_file": "dasp.py", "source_location": "L936", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_daspsocket_receiver_loop", "callee": "bytearray", "is_member_call": false, "source_file": "dasp.py", "source_location": "L941", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_daspsocket_receiver_loop", "callee": "recvfrom_into", "is_member_call": true, "source_file": "dasp.py", "source_location": "L944", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_daspsocket_receiver_loop", "callee": "decode", "is_member_call": true, "source_file": "dasp.py", "source_location": "L948", "receiver": "DaspMsg"}, {"caller_nid": "$graphify-root$_dasp_daspsocket_discover", "callee": "DISCOVER", "is_member_call": false, "indirect": true, "context": "assignment", "source_file": "dasp.py", "source_location": "L966"}, {"caller_nid": "$graphify-root$_dasp_daspsocket_discover", "callee": "encode", "is_member_call": true, "source_file": "dasp.py", "source_location": "L970", "receiver": "msg"}, {"caller_nid": "$graphify-root$_dasp_daspsocket_discover", "callee": "setsockopt", "is_member_call": true, "source_file": "dasp.py", "source_location": "L974", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_daspsocket_discover", "callee": "sendto", "is_member_call": true, "source_file": "dasp.py", "source_location": "L978", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_daspsocket_discover", "callee": "sendto", "is_member_call": true, "source_file": "dasp.py", "source_location": "L983", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_daspsocket_discover", "callee": "sleep", "is_member_call": true, "source_file": "dasp.py", "source_location": "L987", "receiver": "time"}, {"caller_nid": "$graphify-root$_dasp_daspsocket_discover", "callee": "add", "is_member_call": true, "source_file": "dasp.py", "source_location": "L994", "receiver": "seen"}, {"caller_nid": "$graphify-root$_dasp_daspsocket_discover", "callee": "append", "is_member_call": true, "source_file": "dasp.py", "source_location": "L995", "receiver": "result"}, {"caller_nid": "$graphify-root$_dasp_daspsocket_dispatch", "callee": "_discover_active", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "dasp.py", "source_location": "L1002"}, {"caller_nid": "$graphify-root$_dasp_daspsocket_dispatch", "callee": "append", "is_member_call": true, "source_file": "dasp.py", "source_location": "L1003", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_daspsocket_dispatch", "callee": "get", "is_member_call": true, "source_file": "dasp.py", "source_location": "L1008", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_daspsocket_dispatch", "callee": "dispatch", "is_member_call": true, "source_file": "dasp.py", "source_location": "L1013", "receiver": "session"}, {"caller_nid": "$graphify-root$_dasp_daspsocket_housekeeping_loop", "callee": "sleep", "is_member_call": true, "source_file": "dasp.py", "source_location": "L1017", "receiver": "time"}, {"caller_nid": "$graphify-root$_dasp_daspsocket_housekeeping_loop", "callee": "values", "is_member_call": true, "source_file": "dasp.py", "source_location": "L1019", "receiver": null}, {"caller_nid": "$graphify-root$_dasp_daspsocket_housekeeping_loop", "callee": "housekeeping", "is_member_call": true, "source_file": "dasp.py", "source_location": "L1022", "receiver": "s"}, {"caller_nid": "$graphify-root$_dasp_ticks", "callee": "monotonic", "is_member_call": true, "source_file": "dasp.py", "source_location": "L1033", "receiver": "time"}]}