internal void OnConnMessage(object sender, MessageEventArgs e)
{
Log("DATA", e.Data);
//jfis - every reeceived msg comes here
var msg = JObject.Parse(e.Data);
var topic = (string)msg["topic"];
var event_ = (string)msg["event"];
var payload = (JObject)msg["payload"];
var ref_ = (string)msg["ref"];
Log("receive", $"{payload["status"] ?? ""} {topic} {event_} ({ ref_ })", payload);
//jfis - pass on to appropriate channels
_channels.Where(c => c.IsMember(topic)).ToList().ForEach(c => c.Trigger(event_, payload, ref_));
foreach (var cb in _messageCallbacks) cb(msg);
}
}