internal void read(IByteBuffer iByteBuffer) { if (_readQueue.TryEnqueue(iByteBuffer)) { notifyReadEvent(); } else { iByteBuffer.Release(); Console.WriteLine("conv " + _kcp.Conv + " recieveList is full"); } }
/** * 主动发消息使用 * 线程安全的 * @param IByteBuffer 发送后需要手动释放 * @return */ public bool writeMessage(IByteBuffer byteBuffer) { byteBuffer = byteBuffer.RetainedDuplicate(); if (!_writeQueue.TryEnqueue(byteBuffer)) { Console.WriteLine("conv " + kcp.Conv + " sendList is full"); byteBuffer.Release(); return(false); } notifyWriteEvent(); return(true); }
protected override bool TryEnqueue(ITask task) { return(_queue.TryEnqueue(task)); }