/// <summary> /// 发送结果 /// </summary> /// <param name="result"></param> /// <returns></returns> protected virtual async Task SendResult(long id, object argument) { if (IWrite == null) { throw new NullReferenceException("IWrite is null!"); } var packbuffer = SerializationPacker.PackSingleObject(argument); Task WSend() { if (mode == 0) { IWrite !.Write(2500); IWrite !.Write(id); IWrite !.Write(false); IWrite !.Write(1); IWrite !.Write(packbuffer); return(IWrite !.FlushAsync()); } else { using var buffer = new WriteBytes(IWrite); buffer.WriteLen(); buffer.Cmd(2500); buffer.Write(id); buffer.Write(false); buffer.Write(1); buffer.Write(packbuffer); return(buffer.FlushAsync()); } } await await IWrite.Sync.Ask(WSend); }
/// <summary> /// 发送结果 /// </summary> /// <param name="result"></param> /// <returns></returns> protected virtual async Task SendResult(long id, object argument) { if (FiberRw != null) { using (var wr = new WriteBytes(FiberRw)) { Task <int> WSend() { wr.WriteLen(); wr.Cmd(2500); wr.Write(id); wr.Write(false); wr.Write(1); wr.Write(SerializationPacker.PackSingleObject(argument)); return(wr.Flush()); } await await FiberRw.Sync.Ask(WSend); } } else { Log.Error("Send fail,is not fiber"); } }
/// <summary> /// 发送结果 /// </summary> /// <param name="result"></param> /// <returns></returns> protected virtual Task SendResult(long id, object argument) { if (IWrite != null) { IWrite.Write(2500); IWrite.Write(id); IWrite.Write(false); IWrite.Write(1); IWrite.Write(SerializationPacker.PackSingleObject(argument)); return(IWrite.Flush()); } else { throw new NullReferenceException("IWrite is null!"); } }
/// <summary> /// 发送结果 /// </summary> /// <param name="result"></param> /// <returns></returns> protected virtual Task SendResult(long id, object argument) { if (FiberRw != null) { using (var wr = new WriteBytes(FiberRw)) { wr.WriteLen(); wr.Cmd(2500); wr.Write(id); wr.Write(false); wr.Write(1); wr.Write(SerializationPacker.PackSingleObject(argument)); return(wr.Flush()); } } else { Log.Error("Send fail,is not fiber"); return(Task.CompletedTask); } }
/// <summary> /// 发送结果 /// </summary> /// <param name="result"></param> /// <returns></returns> protected virtual async Task SendResult(long id, object argument) { if (IWrite == null) { throw new NullReferenceException("IWrite is null!"); } var buffer = SerializationPacker.PackSingleObject(argument); Task <int> WSend() { IWrite !.Write(2500); IWrite !.Write(id); IWrite !.Write(false); IWrite !.Write(1); IWrite !.Write(buffer); return(IWrite !.Flush()); } await await IWrite.Sync.Ask(WSend); }
public T Value <T>() { return((T)SerializationPacker.UnpackSingleObject(typeof(T), Data)); }