LocalApiNode.cs 803 B

123456789101112131415161718192021222324252627282930313233
  1. using System;
  2. using System.Runtime.CompilerServices;
  3. using Newtonsoft.Json;
  4. using Sers.Core.Module.Api.ApiDesc;
  5. using Sers.Core.Module.Api.LocalApi;
  6. using Vit.Extensions;
  7. namespace Sers.Serslot
  8. {
  9. [JsonObject(MemberSerialization.OptIn)]
  10. public class LocalApiNode: IApiNode
  11. {
  12. [JsonProperty]
  13. public SsApiDesc apiDesc { get; set; }
  14. SerslotServer server;
  15. public LocalApiNode(SsApiDesc apiDesc, SerslotServer server)
  16. {
  17. this.apiDesc = apiDesc;
  18. this.server = server;
  19. }
  20. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  21. public byte[] Invoke(ArraySegment<byte> arg_OriData)
  22. {
  23. return server.ProcessRequestByRpc(arg_OriData);
  24. }
  25. }
  26. }