mirror of
https://github.com/Alex-Rachel/TEngine.git
synced 2025-08-14 16:51:28 +00:00
1.替换了KCP为C#版本 2.KCP增加了Memery<T>支持。 3.框架增加了对Memery<T>的支持,服务器网络消息采用Memery<T>,性能得大幅度的提升 4.优化了消息调度执行逻辑
1.替换了KCP为C#版本 2.KCP增加了Memery<T>支持。 3.框架增加了对Memery<T>的支持,服务器网络消息采用Memery<T>,性能得大幅度的提升 4.优化了消息调度执行逻辑
This commit is contained in:
@@ -95,11 +95,54 @@ public sealed class MongoHelper : Singleton<MongoHelper>
|
||||
{
|
||||
return BsonSerializer.Deserialize(str, type);
|
||||
}
|
||||
|
||||
public object Deserialize(Span<byte> span, Type type)
|
||||
{
|
||||
using var stream = MemoryStreamHelper.GetRecyclableMemoryStream();
|
||||
stream.Write(span);
|
||||
stream.Seek(0, SeekOrigin.Begin);
|
||||
return BsonSerializer.Deserialize(stream, type);
|
||||
}
|
||||
|
||||
public object Deserialize(Memory<byte> memory, Type type)
|
||||
{
|
||||
using var stream = MemoryStreamHelper.GetRecyclableMemoryStream();
|
||||
stream.Write(memory.Span);
|
||||
stream.Seek(0, SeekOrigin.Begin);
|
||||
return BsonSerializer.Deserialize(stream, type);
|
||||
}
|
||||
|
||||
public object Deserialize<T>(Span<byte> span)
|
||||
{
|
||||
using var stream = MemoryStreamHelper.GetRecyclableMemoryStream();
|
||||
stream.Write(span);
|
||||
stream.Seek(0, SeekOrigin.Begin);
|
||||
return BsonSerializer.Deserialize<T>(stream);
|
||||
}
|
||||
|
||||
public object Deserialize<T>(Memory<byte> memory)
|
||||
{
|
||||
using var stream = MemoryStreamHelper.GetRecyclableMemoryStream();
|
||||
stream.Seek(0, SeekOrigin.Begin);
|
||||
return BsonSerializer.Deserialize<T>(stream);
|
||||
}
|
||||
|
||||
|
||||
public T Deserialize<T>(byte[] bytes)
|
||||
{
|
||||
return BsonSerializer.Deserialize<T>(bytes);
|
||||
}
|
||||
|
||||
public void SerializeTo<T>(T t, Memory<byte> memory)
|
||||
{
|
||||
using var memoryStream = new MemoryStream();
|
||||
using (var writer = new BsonBinaryWriter(memoryStream, BsonBinaryWriterSettings.Defaults))
|
||||
{
|
||||
BsonSerializer.Serialize(writer, typeof(T), t);
|
||||
}
|
||||
|
||||
memoryStream.GetBuffer().AsMemory().CopyTo(memory);
|
||||
}
|
||||
|
||||
public object Deserialize(byte[] bytes, Type type)
|
||||
{
|
||||
|
Reference in New Issue
Block a user