public bool Emit(string Event, object Object, Ackcall ack) { Log($"Emit with ack invoked, Event {Event}, Object {Object}, ACK {ack.GetMethodInfo().Name}."); var count = Interlocked.Increment(ref _counter); var eventObject = new Dictionary <string, object> { { "event", Event }, { "data", Object }, { "cid", count } }; _acks.Add(count, GetAckObject(Event, ack)); var json = _options.Serializer.Serialize(eventObject); return(_socket.Send(json)); }
public bool Unsubscribe(string channel, Ackcall ack) { Log($"Unsubscribe with ACK invoked, Channel {channel}, ACK {ack.GetMethodInfo().Name}."); var count = Interlocked.Increment(ref _counter); var subscribeObject = new Dictionary <string, object> { { "event", "#unsubscribe" }, { "data", channel }, { "cid", count } }; _acks.Add(count, GetAckObject(channel, ack)); var json = _options.Serializer.Serialize(subscribeObject); return(_socket.Send(json)); }
public bool Publish(string channel, object data, Ackcall ack) { Log($"Publish with ACK invoked, Channel {channel}, Data {data}, ACK {ack.GetMethodInfo().Name}."); var count = Interlocked.Increment(ref _counter); var publishObject = new Dictionary <string, object> { { "event", "#publish" }, { "data", new Dictionary <string, object> { { "channel", channel }, { "data", data } } }, { "cid", count } }; _acks.Add(count, GetAckObject(channel, ack)); var json = _options.Serializer.Serialize(publishObject); return(_socket.Send(json)); }