public void EncodeAndDecodeEmptyPayloads()
        {
            var log = LogManager.GetLogger(Global.CallerName());
            log.Info("Start");

            var packets = new Packet[] {};
            Parser.EncodePayload(packets, new EncodeAndDecodeEmptyPayloads_EncodeCallback());
        }
        public void EncodeAndDecodePayloads2()
        {
            var log = LogManager.GetLogger(Global.CallerName());
            log.Info("Start");

            var packets = new Packet[] {new Packet(Packet.MESSAGE, "a"), new Packet(Packet.PING),};
            Parser.EncodePayload(packets, new EncodeAndDecodePayloads_EncodeCallback2());
        }
Exemplo n.º 3
0
        public void EncodeAndDecodeEmptyPayloads()
        {
            LogManager.SetupLogManager();
            var log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod());
            log.Info("Start");

            var packets = new Packet[] {};
            Parser.EncodePayload(packets, new EncodeAndDecodeEmptyPayloads_EncodeCallback());
        }
Exemplo n.º 4
0
        public void EncodeAndDecodePayloads2()
        {
            LogManager.SetupLogManager();
            var log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod());
            log.Info("Start");

            var packets = new Packet[] {new Packet(Packet.MESSAGE, "a"), new Packet(Packet.PING),};
            Parser.EncodePayload(packets, new EncodeAndDecodePayloads_EncodeCallback2());
        }
        public void EncodeAndDecodeBinaryContents()
        {
            var log = LogManager.GetLogger(Global.CallerName());
            log.Info("Start");

            var firstBuffer = FirstBuffer();
            var secondBuffer = SecondBuffer();

            var packets = new Packet[]
            {new Packet(Packet.MESSAGE, firstBuffer), new Packet(Packet.MESSAGE, secondBuffer)};
            Parser.EncodePayload(packets, new EncodeAndDecodeBinaryContents_EncodeCallback());
        }
Exemplo n.º 6
0
        public void EncodeAndDecodeBinaryContents()
        {
            LogManager.SetupLogManager();
            var log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod());
            log.Info("Start");

            var firstBuffer = FirstBuffer();
            var secondBuffer = SecondBuffer();

            var packets = new Packet[]
            {new Packet(Packet.MESSAGE, firstBuffer), new Packet(Packet.MESSAGE, secondBuffer)};
            Parser.EncodePayload(packets, new EncodeAndDecodeBinaryContents_EncodeCallback());
        }
        public void EncodeMixedBinaryAndStringContents()
        {
            var log = LogManager.GetLogger(Global.CallerName());
            log.Info("Start");

            var packets = new Packet[]
            {
                new Packet(Packet.MESSAGE, ThirdBuffer()),
                new Packet(Packet.MESSAGE, "hello"),
                new Packet(Packet.CLOSE),
            };
            Parser.EncodePayload(packets, new EncodeMixedBinaryAndStringContents_EncodeCallback());
        }
Exemplo n.º 8
0
        private void SendPacket(Packet packet, Action fn)
        {
            if (fn == null)
            {
                fn = () => { };
            }

            Emit(EVENT_PACKET_CREATE, packet);
            //var log = LogManager.GetLogger(Global.CallerName());
            //log.Info(string.Format("SendPacket WriteBuffer.Add(packet) packet ={0}",packet.Type));
            WriteBuffer = WriteBuffer.Add(packet);
            CallbackBuffer = CallbackBuffer.Add(fn);
            Flush();
        }
Exemplo n.º 9
0
        public void OnPacket(Packet packet)
        {
            var log = LogManager.GetLogger(Global.CallerName());

            if (ReadyState == ReadyStateEnum.OPENING || ReadyState == ReadyStateEnum.OPEN)
            {
                log.Info(string.Format("socket received: type '{0}', data '{1}'", packet.Type, packet.Data));

                Emit(EVENT_PACKET, packet);
                Emit(EVENT_HEARTBEAT);

                if (packet.Type == Packet.OPEN)
                {
                    OnHandshake(new HandshakeData((string)packet.Data));

                }
                else if (packet.Type == Packet.PONG)
                {
                    this.SetPing();
                }
                else if (packet.Type == Packet.ERROR)
                {
                    var err = new EngineIOException("server error");
                    err.code = packet.Data;
                    this.Emit(EVENT_ERROR, err);
                }
                else if (packet.Type == Packet.MESSAGE)
                {
                    Emit(EVENT_DATA, packet.Data);
                    Emit(EVENT_MESSAGE, packet.Data);
                }
            }
            else
            {
                log.Info(string.Format("OnPacket packet received with socket readyState '{0}'", ReadyState));
            }
        }
Exemplo n.º 10
0
        public void EncodePayloads()
        {
            var log = LogManager.GetLogger(Global.CallerName());
            log.Info("Start");

            var packets = new Packet[] {new Packet(Packet.PING), new Packet(Packet.PONG),};
            Parser.EncodePayload(packets, new EncodePayloadsCallback());
        }
Exemplo n.º 11
0
        internal static void EncodePayload(Packet[] packets, IEncodeCallback callback)
        {
            if (packets.Length == 0)
            {
                callback.Call(new byte[0]);
                return;
            }

            var results = new List<byte[]>(packets.Length);
            var encodePayloadCallback = new EncodePayloadCallback(results);
            foreach (var packet in packets)
            {
                packet.Encode(encodePayloadCallback, true);
            }

            callback.Call(Buffer.Concat(results.ToArray()));//new byte[results.Count][]
        }
Exemplo n.º 12
0
        public void EncodeMixedBinaryAndStringContents()
        {
            LogManager.SetupLogManager();
            var log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod());
            log.Info("Start");

            var packets = new Packet[]
            {
                new Packet(Packet.MESSAGE, ThirdBuffer()),
                new Packet(Packet.MESSAGE, "hello"),
                new Packet(Packet.CLOSE),
            };
            Parser.EncodePayload(packets, new EncodeMixedBinaryAndStringContents_EncodeCallback());
        }
Exemplo n.º 13
0
 public bool Call(Packet packet, int index, int total)
 {
     Assert.AreEqual(Packet.MESSAGE, packet.Type);
     var isLast = index + 1 == total;
     if (!isLast)
     {
         //Assert.AreEqual(FirstBuffer(), packet.Data);
         CollectionAssert.AreEqual(FirstBuffer(), (byte[]) packet.Data);
     }
     else
     {
         //Assert.AreEqual(SecondBuffer(), packet.Data);
         CollectionAssert.AreEqual(SecondBuffer(), (byte[])packet.Data);
     }
     return true;
 }
Exemplo n.º 14
0
            public bool Call(Packet packet, int index, int total) {
                if (polling.ReadyState == ReadyStateEnum.OPENING) {
                    polling.OnOpen();
                }

                if (packet.Type == Packet.CLOSE) {
                    polling.OnClose();
                    return false;
                }

                polling.OnPacket(packet);
                return true;
            }
Exemplo n.º 15
0
            void IListener.Call(params object[] args)
            {
                if (Parameters.Failed[0])
                {
                    return;
                }

                var packet = new Packet(Packet.PING, "probe");
                Parameters.Transport[0].Once(Client.Transport.EVENT_PACKET, new ProbeEventPacketListener(this));
                Parameters.Transport[0].Send(ImmutableList<Packet>.Empty.Add(packet));
            }
Exemplo n.º 16
0
 public bool Call(Packet packet, int index, int total)
 {
     bool isLast = index + 1 == total;
     Assert.IsTrue(isLast);
     return true;
 }
Exemplo n.º 17
0
 public bool Call(Packet packet, int index, int total)
 {
     Assert.AreEqual(Packet.OPEN, packet.Type);
     var isLast = index + 2 == total;
     Assert.IsNull(isLast);
     return true;
 }
 protected void OnPacket(Packet packet)
 {
     this.Emit(EVENT_PACKET, packet);
 }
Exemplo n.º 19
0
 public bool Call(Packet packet, int index, int total)
 {
     var isLast = index + 1 == total;
     Assert.AreEqual(isLast ? Packet.PING : Packet.MESSAGE, packet.Type);
     return true;
 }
Exemplo n.º 20
0
 public bool Call(Packet packet, int index, int total)
 {
     var isLast = index + 1 == total;
     Assert.IsTrue(isLast);
     Assert.AreEqual(Packet.ERROR, packet.Type);
     Assert.AreEqual(PARSER_ERROR, packet.Data);
     return true;
 }
Exemplo n.º 21
0
 public bool Call(Packet packet, int index, int total)
 {
     if (index == 0)
     {
         Assert.AreEqual(Packet.MESSAGE, packet.Type);
         //Assert.AreEqual(ThirdBuffer(), packet.Data);
         CollectionAssert.AreEqual(ThirdBuffer(), (byte[])packet.Data);
     }
     else if (index == 1)
     {
         Assert.AreEqual(Packet.MESSAGE, packet.Type);
         Assert.AreEqual("hello", packet.Data);
     }
     else
     {
         Assert.AreEqual(Packet.CLOSE, packet.Type);
     }
     return true;
 }