protected sealed override void Write(byte[] buffer, int offset) { IcmpDatagram.WriteHeader(buffer, offset, MessageType, CodeValue, Variable); WritePayload(buffer, offset + IcmpDatagram.HeaderLength); }
/// <summary> /// Finalizes the layer data in the buffer. /// Used for the ICMP checksum. /// </summary> /// <param name="buffer">The buffer to finalize the layer in.</param> /// <param name="offset">The offset in the buffer the layer starts.</param> /// <param name="payloadLength">The length of the layer's payload (the number of bytes after the layer in the packet).</param> /// <param name="nextLayer">The layer that comes after this layer. null if this is the last layer.</param> public sealed override void Finalize(byte[] buffer, int offset, int payloadLength, ILayer nextLayer) { IcmpDatagram.WriteChecksum(buffer, offset, Length + payloadLength, Checksum); }