-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathIProtocol.cs
More file actions
30 lines (27 loc) · 1 KB
/
IProtocol.cs
File metadata and controls
30 lines (27 loc) · 1 KB
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
using System.Collections;
using System.Collections.Generic;
namespace Kaminari
{
public interface IProtocol<PQ> where PQ : IProtocolQueues
{
ushort ExpectedTickId { get; }
ushort LastServerId { get; }
ushort LastTickIdRead { get; }
float ServerTimeDiff { get; }
ServerPhaseSync<PQ> getPhaseSync();
byte getLoopCounter();
float getEstimatedRTT();
float RecvKbpsEstimate();
float SendKbpsEstimate();
uint getLastSentSuperPacketSize(SuperPacket<PQ> superpacket);
uint getLastRecvSuperPacketSize();
float getPerTickSize();
void setBufferSize(ushort size);
void InitiateHandshake(SuperPacket<PQ> superpacket);
void HandleServerTick(SuperPacketReader reader, SuperPacket<PQ> superpacket);
void HandleAcks(ushort tickId, SuperPacketReader reader, SuperPacket<PQ> superpacket, IMarshal marshal);
bool read(IBaseClient client, SuperPacket<PQ> superpacket, IMarshal handler);
bool IsOutOfOrder(ushort id);
Buffer update(ushort tickId, IBaseClient client, SuperPacket<PQ> superpacket);
}
}