Bitshares p2p protocol in brief

        handshaking (p2p_network_connect_loop)

        |                                                |
        |                                                |
        |             hello_message                      |
        |----------------------------------------------->|
        |                                                |
        |                                                |
        |             connection_accepted                |
        |<-----------------------------------------------|
        |                                                |                   |
        |                                                |                   |
        |             [check firewall]                   |    Forward        |
        |----------------------------------------------->|------------------>|
        |                                                |                   |
        |                                                |                   |
        |              check firewall reply                                  |
        |<-------------------------------------------------------------------|
        |                                                                    |
        |                                                                    |
        |              check firewall reply                                  |
        |------------------------------------------------------------------->|
        |                                                                    |
        |                                                                    |
        |                                                                    |



    get new endpoint from peer (fetch_updated_peer_lists_loop)

        |                                                |
        |                                                |
        |             address request                    |
        |----------------------------------------------->|
        |                                                |
        |                                                |
        |             address message                    |
        |<-----------------------------------------------|
        |                                                |
        |                                                |
        |                                                |




    fetch items ids (on_address_message, a new peer is found)

        |                                                |
        |                                                |
        |             fetch blockchain item ids          |
        |----------------------------------------------->|
        |                                                |
        |                                                |
        |             blockchain items ids inventory     |
        |<-----------------------------------------------|
        |             [fetch blockchain items]           |
        |<-----------------------------------------------|
        |                                                |
        |                                                |
        |             fetch blockchain item ids          |
        |----------------------------------------------->|

你可能感兴趣的:(Bitshares p2p protocol in brief)