@@ -28,17 +28,19 @@ public NetworkMessageProcessorFactory(ILogger<INetworkMessageProcessorFactory> l
28
28
/// <param name="peerContext">The peer context.</param>
29
29
public async Task StartProcessorsAsync ( IPeerContext peerContext )
30
30
{
31
- if ( peerContext is null )
32
- {
33
- ThrowHelper . ThrowArgumentNullException ( nameof ( peerContext ) ) ;
34
- }
31
+ ArgumentNullException . ThrowIfNull ( peerContext , nameof ( peerContext ) ) ;
35
32
36
33
IEnumerable < INetworkMessageProcessor > processors = _serviceProvider . GetService < IEnumerable < INetworkMessageProcessor > > ( ) ! ;
37
34
foreach ( INetworkMessageProcessor processor in processors )
38
35
{
39
36
// skip processors that aren't enabled
40
37
if ( ! processor . Enabled ) continue ;
41
38
39
+ if ( _logger . IsEnabled ( LogLevel . Trace ) )
40
+ {
41
+ _logger . LogTrace ( "Attaching processor {ProcessorType} to peer {PeerId}" , processor . GetType ( ) . Name , peerContext . PeerId ) ;
42
+ }
43
+
42
44
peerContext . AttachNetworkMessageProcessor ( processor ) ;
43
45
await processor . AttachAsync ( peerContext ) . ConfigureAwait ( false ) ;
44
46
}
@@ -48,6 +50,12 @@ public async Task StartProcessorsAsync(IPeerContext peerContext)
48
50
49
51
public async ValueTask ProcessMessageAsync ( INetworkMessage message , IPeerContext peerContext , CancellationToken cancellation )
50
52
{
51
- await peerContext . Features . Get < PeerNetworkMessageProcessorContainer > ( ) . ProcessMessageAsync ( message , cancellation ) . ConfigureAwait ( false ) ;
53
+ ArgumentNullException . ThrowIfNull ( message , nameof ( message ) ) ;
54
+ ArgumentNullException . ThrowIfNull ( peerContext , nameof ( peerContext ) ) ;
55
+
56
+ var container = peerContext . Features . Get < PeerNetworkMessageProcessorContainer > ( )
57
+ ?? throw new InvalidOperationException ( "PeerNetworkMessageProcessorContainer not found in peer context." ) ;
58
+
59
+ await container . ProcessMessageAsync ( message , cancellation ) . ConfigureAwait ( false ) ;
52
60
}
53
61
}
0 commit comments