INTERNET-DRAFT Charles H. Lindsey
Usenet Format Working Group University of Manchester
July 2001
7.6. Ihave, sendme
Previous Up Next
7.6. Ihave, sendme
The "ihave" and "sendme" control messages implement a crude batched
predecessor of the NNTP [NNTP] protocol. They are largely obsolete on
the Internet, but still see use in conjunction with some transort
protocols such as UUCP, especially for backup feeds that normally are
active only when a primary feed path has failed. There is no
requirement for relaying agents that do not support such transport
protocols to implement them.
NOTE: The ihave and sendme messages defined here have ABSOLUTELY
NOTHING TO DO WITH NNTP, despite similarities of terminology.
The two messages share the same syntax:
ihave-arguments = *( msg-id SP ) relayer-name
sendme-arguments = ihave-arguments
relayer-name = path-identity ; see 5.6.1
ihave-body = *( msg-id CRLF )
sendme-body = ihave-body
Msg-ids MUST appear in either the arguments or the body, but NOT
both. Relayers SHOULD generate the form putting msg-ids in the body,
but the other form MUST be supported for backward compatibility.
The ihave message states that the named relaying agent has received
articles with the specified message identifiers, which may be of
interest to the relaying agents receiving the ihave message. The
sendme message requests that the agent receiving it send the articles
having the specified message identifiers to the named relaying agent.
These control messages are normally sent essentially as point-to-
point messages, by using newsgroup-names in the Newsgroups header of
the form "to." followed by one of more components in the form of a
relayer-name (see section 5.5.1 which forbids "to" as the first
component of a newsgroup-name). The control message SHOULD then be
delivered ONLY to the relaying agent(s) identitifed by that relayer-
name, and any relaying agent receiving such a message which includes
its own relayer-name MUST NOT propagate it further. Each pair of
relaying agent(s) sending and receiving these messages MUST be
immediate neighbors, exchanging news directly with each other. Each
relaying agent advertises its new arrivals to the other using ihave
messages, and each uses sendme messages to request the articles it
lacks.
To reduce overhead, ihave and sendme messages SHOULD be sent
relatively infrequently and SHOULD contain reasonable numbers of
message IDs. If ihave and sendme are being used to implement a backup
feed, it may be desirable to insert a delay between reception of an
ihave and generation of a sendme, so that a slightly slow primary
feed will not cause large numbers of articles to be requested
unnecessarily via sendme.
Previous Up Next
Previous draft (04): 7.6. Ihave, sendme
Diffs to previous draft
--- {draft-04} Wed Jul 11 21:56:08 2001
+++ {draft-05} Wed Jul 11 21:56:09 2001
@@ -29,10 +29,10 @@
having the specified message identifiers to the named relaying agent.
These control messages are normally sent essentially as point-to-
- point messages, by using newgroups-names in the Newsgroups header of
+ point messages, by using newsgroup-names in the Newsgroups header of
the form "to." followed by one of more components in the form of a
relayer-name (see section 5.5.1 which forbids "to" as the first
- component of a newgroup-name). The control message SHOULD then be
+ component of a newsgroup-name). The control message SHOULD then be
delivered ONLY to the relaying agent(s) identitifed by that relayer-
name, and any relaying agent receiving such a message which includes
its own relayer-name MUST NOT propagate it further. Each pair of