public Emitter Emit(string eventString, IAck ack, params object[] args) { var log = LogManager.GetLogger(Global.CallerName()); if (Events.Contains(eventString)) { base.Emit(eventString, args); return(this); } var _args = new List <object> { eventString }; _args.AddRange(args); var jsonArgs = Parser.Packet.Args2JArray(_args); var parserType = HasBinaryData.HasBinary(jsonArgs) ? Parser.Parser.BINARY_EVENT : Parser.Parser.EVENT; var packet = new Packet(parserType, jsonArgs); log.Info(string.Format("emitting packet with ack id {0}", Ids)); Acks = Acks.Add(Ids, ack); packet.Id = Ids++; if (Connected) { Packet(packet); } else { SendBuffer = SendBuffer.Enqueue(packet); } return(this); }
public override Emitter Emit(string eventString, params object[] arg) { var log = LogManager.GetLogger(Global.CallerName()); if (Events.Contains(eventString)) { base.Emit(eventString, arg); return(this); } var args = new List <object> { eventString }; args.AddRange(arg); var ack = args[args.Count - 1] as IAck; if (ack != null) { args.RemoveAt(args.Count - 1); } var jsonArgs = Parser.Packet.Args2JArray(args); var parserType = HasBinaryData.HasBinary(jsonArgs) ? Parser.Parser.BINARY_EVENT : Parser.Parser.EVENT; var packet = new Packet(parserType, jsonArgs); if (ack != null) { log.Info($"emitting packet with ack id {_ids}"); lock (_lockObj) { _acks = _acks.Add(_ids, ack); } packet.Id = _ids++; } if (_connected) { Packet(packet); } else { _sendBuffer = _sendBuffer.Enqueue(packet); } return(this); }
public void Call(params object[] args) { if (this.sent[0]) { return; } this.sent[0] = true; LogManager logger = LogManager.GetLogger(Global.CallerName("", 0, "")); JArray jarray = Packet.Args2JArray((IEnumerable <object>)args); logger.Info(string.Format("sending ack {0}", args.Length != 0 ? (object)jarray.ToString() : (object)"null")); this.socket.Packet_method(new Packet(HasBinaryData.HasBinary((object)args) ? 6 : 3, (object)jarray) { Id = this.Id }); }
public override Emitter Emit(string eventString, params object[] args) { var log = LogManager.GetLogger(Global.CallerName()); if (Events.Contains(eventString)) { base.Emit(eventString, args); return(this); } var _args = new List <object> { eventString }; _args.AddRange(args); var ack = _args[_args.Count - 1] as IAck; if (ack != null) { _args.RemoveAt(_args.Count - 1); } var jsonArgs = Newtonsoft.Json.JsonConvert.SerializeObject(_args); var parserType = HasBinaryData.HasBinary(jsonArgs) ? Parser.Parser.BINARY_EVENT : Parser.Parser.EVENT; var packet = new Packet(parserType, jsonArgs); if (ack != null) { log.Info(string.Format("emitting packet with ack id {0}", Ids)); Acks = Acks.Add(Ids, ack); packet.Id = Ids++; } if (Connected) { Packet(packet); } else { SendBuffer = SendBuffer.Enqueue(packet); } return(this); }
public void Call(params object[] args) { if (sent[0]) { return; } sent[0] = true; var log = LogManager.GetLogger(Global.CallerName()); var jsonArgs = Parser.Packet.Args2JArray(args); log.Info(string.Format("sending ack {0}", args.Length != 0 ? jsonArgs.ToString() : "null")); var parserType = HasBinaryData.HasBinary(args) ? Parser.Parser.BINARY_ACK : Parser.Parser.ACK; var packet = new Packet(parserType, jsonArgs); packet.Id = Id; socket.Packet(packet); }
public override Emitter Emit(string eventString, params object[] args) { var log = LogManager.GetLogger(Global.CallerName()); if (Events.Contains(eventString)) { base.Emit(eventString, args); return(this); } var _args = new List <object> { eventString }; _args.AddRange(args); var jsonArgs = Parser.Packet.Args2JArray(_args); var parserType = HasBinaryData.HasBinary(jsonArgs) ? Parser.Parser.BINARY_EVENT : Parser.Parser.EVENT; var packet = new Packet(parserType, jsonArgs); var lastArg = _args[_args.Count - 1]; if (lastArg is IAck) { log.Info(string.Format("emitting packet with ack id {0}", Ids)); Acks.TryAdd(Ids, (IAck)lastArg); jsonArgs = Parser.Packet.Remove(jsonArgs, jsonArgs.Count - 1); packet.Data = jsonArgs; packet.Id = Ids++; } if (Connected) { Packet(packet); } else { SendBuffer.Enqueue(packet); } return(this); }
public override Emitter Emit(string eventString, params object[] args) { LogManager logger = LogManager.GetLogger(Global.CallerName("", 0, "")); if (QSocket.Events.Contains(eventString)) { base.Emit(eventString, args); return((Emitter)this); } List <object> objectList = new List <object>() { (object)eventString }; objectList.AddRange((IEnumerable <object>)args); JArray a = Packet.Args2JArray((IEnumerable <object>)objectList); Packet packet = new Packet(HasBinaryData.HasBinary((object)a) ? 5 : 2, (object)a); object obj = objectList[objectList.Count - 1]; if (obj is IAck) { logger.Info(string.Format("emitting packet with ack id {0}", (object)this.Ids)); this.Acks = this.Acks.Add(this.Ids, (IAck)obj); JArray jarray = Packet.Remove(a, a.Count - 1); packet.Data = (object)jarray; packet.Id = this.Ids++; } if (this.Connected) { this.Packet_method(packet); } else { this.SendBuffer = this.SendBuffer.Enqueue(packet); } return((Emitter)this); }
public void ByteArray() { Assert.IsTrue(HasBinaryData.HasBinary(new byte[0])); }