Class PeerCommunicationService
- Namespace
- NLightning.Infrastructure.Node.Services
- Assembly
- NLightning.Infrastructure.dll
Service for communication with a single peer.
public class PeerCommunicationService : IPeerCommunicationService, IDisposable
- Inheritance
-
PeerCommunicationService
- Implements
- Inherited Members
Constructors
PeerCommunicationService(ILogger<PeerCommunicationService>, IMessageService, IMessageFactory, CompactPubKey, IPingPongService, IServiceProvider)
Initializes a new instance of the PeerCommunicationService class.
public PeerCommunicationService(ILogger<PeerCommunicationService> logger, IMessageService messageService, IMessageFactory messageFactory, CompactPubKey peerCompactPubKey, IPingPongService pingPongService, IServiceProvider serviceProvider)
Parameters
loggerILogger<PeerCommunicationService>The logger.
messageServiceIMessageServiceThe message service.
messageFactoryIMessageFactoryThe message factory.
peerCompactPubKeyCompactPubKeyThe peer's public key.
pingPongServiceIPingPongServiceThe ping pong service.
serviceProviderIServiceProviderThe service provider.
Properties
IsConnected
Gets a value indicating whether the connection is established.
public bool IsConnected { get; }
Property Value
PeerCompactPubKey
Gets the peer's public key.
public CompactPubKey PeerCompactPubKey { get; }
Property Value
Methods
Disconnect(Exception?)
Disconnects from the peer.
public void Disconnect(Exception? exception = null)
Parameters
exceptionExceptionThe exception that caused the disconnection, if any.
Dispose()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
public void Dispose()
InitializeAsync(TimeSpan)
Initializes the communication with the peer.
public Task InitializeAsync(TimeSpan networkTimeout)
Parameters
networkTimeoutTimeSpanThe network timeout.
Returns
- Task
A task that represents the asynchronous operation.
SendMessageAsync(IMessage, CancellationToken)
Sends a message to the peer.
public Task SendMessageAsync(IMessage message, CancellationToken cancellationToken = default)
Parameters
messageIMessageThe message to send.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task
A task that represents the asynchronous operation.
SendWarningAsync(WarningException, CancellationToken)
Sends a warning message to the peer.
public Task SendWarningAsync(WarningException we, CancellationToken cancellationToken = default)
Parameters
weWarningExceptionThe warning exception to send.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task
A task that represents the asynchronous operation.
Events
DisconnectEvent
Event raised when the peer is disconnected.
public event EventHandler<Exception?>? DisconnectEvent
Event Type
ExceptionRaised
Event raised when an exception occurs.
public event EventHandler<Exception>? ExceptionRaised
Event Type
MessageReceived
Event raised when a message is received from the peer.
public event EventHandler<IMessage?>? MessageReceived