ModernUO/Projects/Server.Tests/Tests/Network/Packets/Outgoing
Kamron Batman 10a69bf754
feat: Adds a memory mirrored ring buffer for networking. (#1533)
## Breaking Changes

Incoming packet registration signature has changed to:
```cs
delegate* void OnReceiveCallback(NetState state, SpanReader reader, int packetLength);

IncomingPackets.Register(int packetID, int length, bool ingame, OnReceiveCallback onReceive);
```

For example, an incoming packet handler signature would now look like this:
```cs
public static void SomeIncomingPacket(NetState state, SpanReader reader, int packetLength)
{
    // Parse the data
}
```

## Summary

Updates the network Pipe class to use a mirrored memory technique. This technique involves mapping the same physical memory to two contiguous virtual memory spaces so the byte buffer appears duplicated. This allows writing to a double-sized array to wrap around without the need for the `CircularBuffer` classes.

In practice this allows us to use `Span<byte>` as if the buffer was a regular array.


### Bug Fixes

- [X] Fixes bad fixed length string parsing
2023-10-09 00:57:53 -07:00
..
AccountPackets.cs fix(core): Adds IPv6 support (#348) 2020-12-19 00:27:39 -08:00
AccountPacketTests.cs feat: Adds a memory mirrored ring buffer for networking. (#1533) 2023-10-09 00:57:53 -07:00
AttributeNormalizer.cs fix(core): Converts mobile incoming packet (#370) 2020-12-28 02:30:47 -08:00
CombatPackets.cs Fix bad serials (#304) 2020-11-08 12:09:26 -08:00
CombatPacketTests.cs feat: Adds a memory mirrored ring buffer for networking. (#1533) 2023-10-09 00:57:53 -07:00
ContainerPackets.cs Converts Item & Entity Packets (#326) 2020-11-29 03:24:51 -08:00
ContainerPacketTests.cs feat: Adds a memory mirrored ring buffer for networking. (#1533) 2023-10-09 00:57:53 -07:00
DamagePackets.cs Fix bad serials (#304) 2020-11-08 12:09:26 -08:00
DamagePacketTests.cs feat: Adds a memory mirrored ring buffer for networking. (#1533) 2023-10-09 00:57:53 -07:00
EffectPackets.cs Updates Light Packets & World Loading (#316) 2020-11-17 00:46:06 -08:00
EffectPacketTests.cs feat: Adds a memory mirrored ring buffer for networking. (#1533) 2023-10-09 00:57:53 -07:00
EquipmentPackets.cs Updates Light Packets & World Loading (#316) 2020-11-17 00:46:06 -08:00
EquipmentPacketTests.cs feat: Adds a memory mirrored ring buffer for networking. (#1533) 2023-10-09 00:57:53 -07:00
GumpPackets.cs fix(core): Removes implicit cast between Serial and uint (#728) 2021-08-25 00:27:19 -07:00
GumpPacketTests.cs feat: Adds a memory mirrored ring buffer for networking. (#1533) 2023-10-09 00:57:53 -07:00
ItemPackets.cs Converts Item & Entity Packets (#326) 2020-11-29 03:24:51 -08:00
ItemPacketTests.cs feat: Adds a memory mirrored ring buffer for networking. (#1533) 2023-10-09 00:57:53 -07:00
LightPackets.cs Updates Light Packets & World Loading (#316) 2020-11-17 00:46:06 -08:00
LightPacketTests.cs feat: Adds a memory mirrored ring buffer for networking. (#1533) 2023-10-09 00:57:53 -07:00
MapPackets.cs Updates map packets (#319) 2020-11-17 20:58:28 -08:00
MapPacketTests.cs feat: Adds a memory mirrored ring buffer for networking. (#1533) 2023-10-09 00:57:53 -07:00
MenuPackets.cs Updates menu packets (#320) 2020-11-17 21:47:00 -08:00
MenuPacketTests.cs feat: Adds a memory mirrored ring buffer for networking. (#1533) 2023-10-09 00:57:53 -07:00
MessagePackets.cs fix(core): Adds object help response packets (#336) 2020-12-07 21:19:21 -08:00
MessagePacketTests.cs feat: Adds a memory mirrored ring buffer for networking. (#1533) 2023-10-09 00:57:53 -07:00
MobilePackets.cs fix: Fixes spell mechanics and misc bugs (#1118) 2022-07-14 22:01:59 -07:00
MobilePacketTests.cs feat: Adds a memory mirrored ring buffer for networking. (#1533) 2023-10-09 00:57:53 -07:00
MovementPackets.cs feat: Adds a movement throttle system. Removes Fastwalk system. (#1511) 2023-09-27 20:53:22 -07:00
MovementPacketTests.cs feat: Adds a memory mirrored ring buffer for networking. (#1533) 2023-10-09 00:57:53 -07:00
PlayerPackets.cs fix: Fixes boat movement & moves weapon ability out of core (#750) 2021-08-30 21:30:09 -07:00
PlayerPacketTests.cs feat: Adds a memory mirrored ring buffer for networking. (#1533) 2023-10-09 00:57:53 -07:00
SecureTradePackets.cs fix(networking): Standardizes SecureTrade packets (#577) 2021-04-16 11:26:21 -07:00
SecureTradePacketTests.cs feat: Adds a memory mirrored ring buffer for networking. (#1533) 2023-10-09 00:57:53 -07:00
TargetPackets.cs Converts targeting packets (#330) 2020-11-29 23:01:31 -08:00
TargetPacketsTests.cs feat: Adds a memory mirrored ring buffer for networking. (#1533) 2023-10-09 00:57:53 -07:00
VendorBuyPackets.cs chore: Cleans up pattern checks. (#892) 2021-12-24 15:53:59 -08:00
VendorBuyPacketTests.cs feat: Adds a memory mirrored ring buffer for networking. (#1533) 2023-10-09 00:57:53 -07:00
VendorSellPackets.cs chore: Updates copyright (#1448) 2023-08-09 09:09:26 -07:00
VendorSellPacketTests.cs feat: Adds a memory mirrored ring buffer for networking. (#1533) 2023-10-09 00:57:53 -07:00
VirtualHairPackets.cs fix(core): Converts virtual hair packets (#388) 2021-01-05 22:14:54 -08:00
VirtualHairPacketTests.cs feat: Adds a memory mirrored ring buffer for networking. (#1533) 2023-10-09 00:57:53 -07:00