Protocol /
Channel
Subprotocol name: ripple-channel
.
For an explanation of this subprotocol, see Advertisements.
Channel List Request
{
"type": "channel-list-request", "request-id": (integer)
}
Channel List
{
"type": "channel-list", "request-id": (integer) "body": [ (channel data structures) ]
}
Channel Data Structure
(string)
Channel Subscribe
{
"type": "channel-subscribe", "body": [ (channel data structures) ]
}
Channel Unsubscribe
{
"type": "channel-unsubscribe", "body": [ (channel data structures) ]
}
Channel Ad
{
"type": "channel-ad", "from": [ (list of nodes on the sending host that are potential intermediaries to the ad's source for interested nodes on the receiving host) ] "body": { "content": (URI), "source": (Ripple ID), "channels": [ (channel data structures) ] ("min-amount": (decimal), "units": (URI),) ("onion": (routing onion data structure),) }
}
Notes:
- content URI should be HTTP-accessible and contain the content of the ad, so hosts don't have to transfer the same ad content over and over
- URI also acts as ID for the ad
- To save bandwidth, a host is not required to send the same
channel-ad
to a node (on another host) more than once. (Same means same URI.) - Perhaps there needs to be a way to address
channel-ad
to multiple nodes on the same host simultaneously in a single message...?