Class FloodRouter
The original flood sub router.
Inherited Members
Namespace: PeerTalk.PubSub
Assembly: PeerTalk.dll
Syntax
public class FloodRouter : IPeerProtocol, IMessageRouter, IService
Properties
| Improve this Doc View SourceName
The name of the protocol.
Declaration
public string Name { get; }
Property Value
Type | Description |
---|---|
String |
RemoteTopics
The topics of interest of other peers.
Declaration
public TopicManager RemoteTopics { get; set; }
Property Value
Type | Description |
---|---|
TopicManager |
Swarm
Provides access to other peers.
Declaration
public Swarm Swarm { get; set; }
Property Value
Type | Description |
---|---|
Swarm |
Version
The version of the protocol.
Declaration
public SemVersion Version { get; }
Property Value
Type | Description |
---|---|
Semver.SemVersion |
Methods
| Improve this Doc View SourceInterestedPeers(String)
Gets the sequence of peers interested in the topic.
Declaration
public IEnumerable<Peer> InterestedPeers(string topic)
Parameters
Type | Name | Description |
---|---|---|
String | topic | The topic of interest or null for all topics. |
Returns
Type | Description |
---|---|
IEnumerable<Peer> | A sequence of Peer that are subsribed to the
|
JoinTopicAsync(String, CancellationToken)
Indicates that the local peer is interested in the topic.
Declaration
public Task JoinTopicAsync(string topic, CancellationToken cancel)
Parameters
Type | Name | Description |
---|---|---|
String | topic | The topic of interested. |
CancellationToken | cancel | Is used to stop the task. When cancelled, the TaskCanceledException is raised. |
Returns
Type | Description |
---|---|
Task | A task that represents the asynchronous operation. |
LeaveTopicAsync(String, CancellationToken)
Indicates that the local peer is no longer interested in the topic.
Declaration
public Task LeaveTopicAsync(string topic, CancellationToken cancel)
Parameters
Type | Name | Description |
---|---|---|
String | topic | The topic of interested. |
CancellationToken | cancel | Is used to stop the task. When cancelled, the TaskCanceledException is raised. |
Returns
Type | Description |
---|---|
Task | A task that represents the asynchronous operation. |
ProcessMessageAsync(PeerConnection, Stream, CancellationToken)
Process a message for the protocol.
Declaration
public Task ProcessMessageAsync(PeerConnection connection, Stream stream, CancellationToken cancel = default(CancellationToken))
Parameters
Type | Name | Description |
---|---|---|
PeerConnection | connection | A connection between two peers. |
Stream | stream | The message source. |
CancellationToken | cancel | Is used to stop the task. When cancelled, the TaskCanceledException is raised. |
Returns
Type | Description |
---|---|
Task | A task that represents the asynchronous operation. |
ProcessSubscription(Subscription, Peer)
Process a subscription request from another peer.
Declaration
public void ProcessSubscription(Subscription sub, Peer remote)
Parameters
Type | Name | Description |
---|---|---|
Subscription | sub | The subscription request. |
Peer | remote | The remote Peer. |
Remarks
Maintains the RemoteTopics.
See Also
| Improve this Doc View SourcePublishAsync(PublishedMessage, CancellationToken)
Sends the message to other peers.
Declaration
public Task PublishAsync(PublishedMessage message, CancellationToken cancel)
Parameters
Type | Name | Description |
---|---|---|
PublishedMessage | message | The message to send. |
CancellationToken | cancel | Is used to stop the task. When cancelled, the TaskCanceledException is raised. |
Returns
Type | Description |
---|---|
Task | A task that represents the asynchronous operation. |
StartAsync()
Start the service.
Declaration
public Task StartAsync()
Returns
Type | Description |
---|---|
Task |
StopAsync()
Stop the service.
Declaration
public Task StopAsync()
Returns
Type | Description |
---|---|
Task |
ToString()
Declaration
public override string ToString()
Returns
Type | Description |
---|---|
String |
Overrides
Events
| Improve this Doc View SourceMessageReceived
Raised when a new message is received.
Declaration
public event EventHandler<PublishedMessage> MessageReceived
Event Type
Type | Description |
---|---|
EventHandler<PublishedMessage> |