public Task Handle(IIpcPacket packet) { if (packet is T request) { return(Handle(request)); } Log.Warn($"Packet is not of type {typeof(T)}"); return(Task.CompletedTask); }
public async Task Handle(IIpcPacket packet) { if (packet is TRequest request) { await request.ReplyAsync <TResponse, TRequest>(await Handle(request)); return; } Log.Warn($"Packet is not of type {typeof(TRequest)}"); }
public Task HandleAsync(IIpcPacket request, Type type) { if (!_packetHandlers.TryGetValue(type, out IIpcPacketHandler handler)) { Log.Warn($"{type} could not be found !"); return(Task.CompletedTask); } Log.Info($"Handling {type.Name} request"); return(handler.Handle(request)); }
public PacketContainer ToPacket(Type type, IIpcPacket packet) => Create(type, JsonConvert.SerializeObject(packet));
public PacketContainer ToPacket <T>(IIpcPacket packet) => ToPacket(typeof(T), packet);