~ruther/Nostale-Anonymizer

ref: 879aafdb3aca7ebba88206efa406901fe9a7f4c6 Nostale-Anonymizer/src/Anonymizer/Sinks/IPacketSource.cs -rw-r--r-- 1.0 KiB
879aafdb — František Boháček feat: add basic anonymizer function 2 years ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
//
//  IPacketSource.cs
//
//  Copyright (c) František Boháček. All rights reserved.
//  Licensed under the MIT license. See LICENSE file in the project root for full license information.

using System.Diagnostics.CodeAnalysis;

namespace Anonymizer.Sinks;

/// <summary>
/// An interface for receiving packets from an arbitrary source.
/// </summary>
public interface IPacketSource
{
    /// <summary>
    /// The current cursor position (current packet index).
    /// </summary>
    public long Cursor { get; }

    /// <summary>
    /// Tries to get next packet, if there is any.
    /// </summary>
    /// <remarks>
    /// Moves the cursor.
    /// </remarks>
    /// <param name="packetInfo">The information about next packet.</param>
    /// <param name="ct">The cancellation token used for cancelling the operation.</param>
    /// <returns>Whether next packet was loaded and cursor moved. If false, there are no more packets.</returns>
    public Task<bool> TryGetNextPacketAsync([NotNullWhen(true)] out PacketInfo? packetInfo, CancellationToken ct = default);
}
Do not follow this link