@@ -303,11 +303,6 @@ CancellationToken cancellationToken
303303 }
304304 }
305305
306- private static readonly string [ ] ResponseLinesUnknownService = [
307- "# Unknown service" ,
308- "." ,
309- ] ;
310-
311306 private ValueTask SendResponseAsync (
312307 IMuninNodeClient client ,
313308 string responseLine ,
@@ -400,6 +395,29 @@ await client.SendAsync(
400395 }
401396 }
402397
398+ private static readonly ReadOnlyMemory < byte > UnknownServiceResponse = "# Unknown service\n .\n "u8 . ToArray ( ) ;
399+
400+ private static ValueTask SendUnknownServiceResponseAsync (
401+ IMuninNodeClient client ,
402+ CancellationToken cancellationToken
403+ )
404+ {
405+ if ( client is null )
406+ throw new ArgumentNullException ( nameof ( client ) ) ;
407+
408+ #if SYSTEM_THREADING_TASKS_VALUETASK_FROMCANCELED
409+ if ( cancellationToken . IsCancellationRequested )
410+ return ValueTask . FromCanceled ( cancellationToken ) ;
411+ #else
412+ cancellationToken . ThrowIfCancellationRequested ( ) ;
413+ #endif
414+
415+ return client . SendAsync (
416+ UnknownServiceResponse ,
417+ cancellationToken
418+ ) ;
419+ }
420+
403421 /// <summary>
404422 /// Handles the <c>quit</c> command.
405423 /// </summary>
@@ -548,9 +566,8 @@ CancellationToken cancellationToken
548566 var queryItem = profile . Encoding . GetString ( arguments ) ;
549567
550568 if ( ! plugins . TryGetValue ( queryItem , out var plugin ) ) {
551- await SendResponseAsync (
569+ await SendUnknownServiceResponseAsync (
552570 client ,
553- ResponseLinesUnknownService ,
554571 cancellationToken
555572 ) . ConfigureAwait ( false ) ;
556573
@@ -626,9 +643,8 @@ CancellationToken cancellationToken
626643 var queryItem = profile . Encoding . GetString ( arguments ) ;
627644
628645 if ( ! plugins . TryGetValue ( queryItem , out var plugin ) ) {
629- return SendResponseAsync (
646+ return SendUnknownServiceResponseAsync (
630647 client ,
631- ResponseLinesUnknownService ,
632648 cancellationToken
633649 ) ;
634650 }
0 commit comments