| 12345678910111213141516171819202122232425262728293031323334 |
- using System;
- using System.IO;
- namespace ET
- {
- public static class ActorHelper
- {
- public static IActorResponse CreateResponse(IActorRequest iActorRequest, int error)
- {
- Type responseType = OpcodeTypeComponent.Instance.GetResponseType(iActorRequest.GetType());
- IActorResponse response = (IActorResponse)Activator.CreateInstance(responseType);
- response.Error = error;
- response.RpcId = iActorRequest.RpcId;
- return response;
- }
-
- public static object ToActorMessage(this MemoryStream memoryStream)
- {
- ushort opcode = BitConverter.ToUInt16(memoryStream.GetBuffer(), 8);
- Type type = OpcodeTypeComponent.Instance.GetType(opcode);
- if (opcode < OpcodeRangeDefine.PbMaxOpcode)
- {
- return ProtobufHelper.FromBytes(type, memoryStream.GetBuffer(), 10, (int)memoryStream.Length - 10);
- }
-
- if (opcode >= OpcodeRangeDefine.JsonMinOpcode)
- {
- return JsonHelper.FromJson(type, memoryStream.GetBuffer().ToStr(10, (int)(memoryStream.Length - 10)));
- }
- return MongoHelper.FromBson(type, memoryStream.GetBuffer(), 10, (int)memoryStream.Length - 10);
- }
- }
- }
|