Esempio n. 1
0
 async def _respond():
     request = await subscription.receive()
     message = AnyOutboundMessage(
         FoundNodesMessage(request.message.request_id, 0, enrs),
         alice.endpoint,
         alice.node_id,
     )
     await bob_client.dispatcher.send_message(message)
Esempio n. 2
0
 async def _respond():
     find_nodes = await subscription.receive()
     assert num_batches > 1
     message = AnyOutboundMessage(
         FoundNodesMessage(
             find_nodes.message.request_id, num_batches, first_enr_batch,
         ),
         alice.endpoint,
         alice.node_id,
     )
     await bob_client.dispatcher.send_message(message)
Esempio n. 3
0
            async def _respond():
                request = await subscription.receive()
                assert len(enr_batches) > 1

                head_message = AnyOutboundMessage(
                    FoundNodesMessage(
                        request.message.request_id, num_batches, enr_batches[0],
                    ),
                    alice.endpoint,
                    alice.node_id,
                )
                await bob_client.dispatcher.send_message(head_message)

                invalid_message = AnyOutboundMessage(
                    FoundNodesMessage(
                        request.message.request_id, num_batches + 1, enr_batches[1],
                    ),
                    alice.endpoint,
                    alice.node_id,
                )
                await bob_client.dispatcher.send_message(invalid_message)
Esempio n. 4
0
    async def send_found_nodes(
        self,
        endpoint: Endpoint,
        node_id: NodeID,
        *,
        enrs: Sequence[ENRAPI],
        request_id: int,
    ) -> int:
        enr_batches = partition_enrs(
            enrs, max_payload_size=FOUND_NODES_MAX_PAYLOAD_SIZE
        )
        num_batches = len(enr_batches)
        for batch in enr_batches:
            message = AnyOutboundMessage(
                FoundNodesMessage(request_id, num_batches, batch,), endpoint, node_id,
            )
            await self.dispatcher.send_message(message)

        return num_batches
Esempio n. 5
0
 async def _respond():
     request = await subscription.receive()
     message = request.to_response(
         FoundNodesMessage(request.request_id, 0, ())
     )
     await bob_client.dispatcher.send_message(message)