Beispiel #1
0
        private static async Task <Success> Process(IEnumerable <byte> message, ulong channel)
        {
            await Task.Delay(1);

            if (message.Any())
            {
                if (message.First() == PongData.DefinedTagId)
                {
                    var pong = ILTag.DeserializeFrom(message.ToArray()) as Payload <PongData>;
                    Console.WriteLine($@"[{channel}] {pong}");
                    return(Success.Exit);
                }
            }
            return(Success.Exit);
        }
Beispiel #2
0
 public static void Main(string[] args)
 {
     Console.WriteLine("HiringTest!");
     ILTag.RegisterDeserializersFrom(TagDeserializersProvider.Instance);
     if (args.Length > 0 && args[0].Equals("server", StringComparison.OrdinalIgnoreCase))
     {
         using var server = new Server();
         server.Run();
     }
     else
     {
         using var client = new Client();
         client.Run();
     }
     Console.WriteLine("-- Done!");
 }
Beispiel #3
0
        public byte[] ToMessage(ILTag payload)
        {
            var payloadBytes = payload.EncodedBytes;

            return(MessageTag.AsILInt().Append(((ulong)payloadBytes.Length).AsILInt()).Append(payloadBytes));
        }
Beispiel #4
0
 public static Stream EncodeTag(this Stream s, ILTag tag)
 => tag == null?s.EncodeNull() : tag.SerializeIntoAsync(s).Result;