private void PacketReceived(IPacket packet) { if (packet["COMPRESSION"] == "1" && packet.Payload != null) { packet.Payload = compression.Decompress(packet.Payload); } var map = packetMapper.Map(packet); if (map == null) //Unhandled Packet { ((BroadcastUtility)On).BroadcastUnhandledPacket(packet); return; } //Notify any attached processes that a packet has been received. ((BroadcastUtility)On).BroadcastPacketReceived(packet.Clone()); //Process any packet handlers on the packet handlerHub.ProcessPacket(this, map); //Process any watchs that are on the packet packetWatcher.Process(map); //Process any plugins pluginManager.Process(this, map); }
private async void PacketReceived(IPacket packet) { if (packet["COMPRESSION"] == "1" && packet.Payload != null) { packet.Payload = compression.Decompress(packet.Payload); } var map = packetMapper.Map(packet); if (map == null) //Unhandled Packet { ((BroadcastUtility)On).BroadcastUnhandledPacket(packet); return; } //Notify any attached processes that a packet has been received. ((BroadcastUtility)On).BroadcastPacketReceived(packet.Clone()); //Process any packet handlers on the packet handlerHub.ProcessPacket(this, map); //Process any watchs that are on the packet packetWatcher.Process(map); if (!(map is MessagePacket)) { return; } var om = (MessagePacket)map; var msg = await Message(om); await MessageReceived(msg); }
private IPacket MidPacket(IPacket packet, byte[] chunk, long corid) { var p = packet.Clone(); p["CORRELATION-ID"] = corid.ToString(); p.Payload = chunk; return(p); }
private IPacket HeadPacket(IPacket packet, byte[] chunk, int totalLength) { var p = packet.Clone(); p["TOTAL-LENGTH"] = totalLength.ToString(); p.Payload = chunk; return(p); }
private IPacket SinglePacket(IPacket packet) { var p = packet.Clone(); p["LAST"] = "T"; p.Payload = packet.Payload; return(p); }
public bool OnBeforePacket(IClient client, IPacket packet) { bool ret = true; IPacket clone = packet.Clone(); lock (plugins) { foreach (var plugin in plugins) { try { if (plugin.Enabled && !plugin.Plugin.OnBeforePacket(client, clone)) { ret = false; } packet = clone; } catch (Exception ex) { OnError(plugin, "OnBeforePacket", ex); } } } return(ret); }