File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -384,10 +384,11 @@ var pseudoPartialSum = Checksum.PartialCalculate(
384384 ref Unsafe .As <TcpV4PseudoHeader , byte >(ref pseudo ),
385385 Unsafe .SizeOf <TcpV4PseudoHeader >());
386386
387- // Later, calculate full checksum by adding TCP header + data
387+ // Later, calculate full checksum for TCP segment (header + data)
388+ // by adding the pseudo-header partial sum
388389var checksum = Checksum .Calculate (
389- ref Unsafe . As < TcpV4PseudoHeader , byte >( ref tcpHeader ),
390- length ,
390+ ref MemoryMarshal . GetReference ( tcpSegmentSpan ),
391+ tcpSegmentSpan . Length ,
391392 pseudoPartialSum );
392393```
393394
@@ -707,6 +708,8 @@ Host.CreateDefaultBuilder(args)
707708
708709public class CustomPacketReceiver : IPacketReceiver
709710{
711+ // TryConsume returns default (null) when packet is consumed
712+ // or returns the input to pass to OS network stack
710713 public T TryConsume <T >(T input ) where T : IMemoryOwner <byte >
711714 {
712715 var span = input .Memory .Span ;
@@ -718,7 +721,7 @@ public class CustomPacketReceiver : IPacketReceiver
718721 {
719722 // Process IPv4 packet
720723 input .Dispose ();
721- return default ; // Consumed
724+ return default ; // Consumed - return null
722725 }
723726 }
724727 return input ; // Pass to OS
You can’t perform that action at this time.
0 commit comments