PUSH: Difference between revisions

From Gnutella2
Jump to navigation Jump to search
No edit summary
 
Line 4: Line 4:
specified node address. It is useful where the receiving node is unable to accept TCP
specified node address. It is useful where the receiving node is unable to accept TCP
connections naturally.
connections naturally.
For more information about when to use PUSH packets: [[Node_Route_Cache_and_Addressed_Packet_Forwarding#Reverse_Connection_.28Push.29_Requests|Reverse Connection (Push) Requests]]


== Sending ==
== Sending ==

Revision as of 22:51, 23 March 2005

/PUSH

The push packet is used to request that a node initiate a TCP connection to a specified node address. It is useful where the receiving node is unable to accept TCP connections naturally.

For more information about when to use PUSH packets: Reverse Connection (Push) Requests

Sending

An addressed /PUSH packet should be sent to a hub with direct or proxy access to the destination leaf node. It can be sent directly by a hub to one of its leaves without the need for addressing.

Receiving

Upon receiving a /PUSH packet, the local node should initiate a TCP connection to the elected node address and issue a "push handshake", documented below.

Payload

The network address of the node to contact, including of course the port number.

Children

This packet has no known children at the current time, however it is often used with the generic addressing child packet "/?/TO" to indicate that it should be forwarded to a destination.