private void SendCommandBase(WaitBlock wb, Ts3Command com) { lock (CommmandQueueLock) { if (com.ExpectResponse) { var retCode = new CommandParameter("return_code", returnCode); com.AppendParameter(retCode); msgProc.EnqueueRequest(retCode.Value, wb); returnCode++; } byte[] data = Util.Encoder.GetBytes(com.ToString()); lock (StatusLock) { if (wasExit) { throw new Ts3CommandException(new CommandError { Id = Ts3ErrorCode.custom_error, Message = "Connection closed" }); } packetHandler.AddOutgoingPacket(data, PacketType.Command); } } }
protected override IEnumerable <T> SendCommand <T>(Ts3Command com) // Synchronous { using (var wb = new WaitBlock()) { lock (SendQueueLock) { msgProc.EnqueueRequest(wb); SendRaw(com.ToString()); } return(wb.WaitForMessage <T>()); } }
public override R <T[], CommandError> Send <T>(Ts3Command com) // Synchronous { using (var wb = new WaitBlock(msgProc.Deserializer, false)) { lock (sendQueueLock) { msgProc.EnqueueRequest(wb); SendRaw(com.ToString()); } return(wb.WaitForMessage <T>()); } }
private E <CommandError> SendCommandBase(WaitBlock wb, Ts3Command com) { if (context.WasExit || com.ExpectResponse) { return(Util.TimeOutCommandError); } var message = com.ToString(); byte[] data = Util.Encoder.GetBytes(message); packetHandler.AddOutgoingPacket(data, PacketType.Command); return(R.Ok); }
protected override IEnumerable <T> SendCommand <T>(Ts3Command com) { var retCode = new CommandParameter("return_code", returnCode); if (com.ExpectResponse) { com.AppendParameter(retCode); } using (var wb = new WaitBlock()) { lock (CommmandQueueLock) { if (com.ExpectResponse) { msgProc.EnqueueRequest(retCode.Value, wb); returnCode++; } byte[] data = Util.Encoder.GetBytes(com.ToString()); lock (StatusLock) { if (wasExit) { throw new Ts3CommandException(new CommandError { Id = Ts3ErrorCode.custom_error, Message = "Connection closed" }); } packetHandler.AddOutgoingPacket(data, PacketType.Command); } } if (com.ExpectResponse) { return(wb.WaitForMessage <T>()); } else { return(null); } } }
private void SendCommandBase(WaitBlock wb, Ts3Command com) { lock (statusLock) { if (context.WasExit || (!Connected && com.ExpectResponse)) { throw new Ts3CommandException(Util.TimeOutCommandError); } if (com.ExpectResponse) { var responseNumber = ++returnCode; var retCodeParameter = new CommandParameter("return_code", responseNumber); com.AppendParameter(retCodeParameter); msgProc.EnqueueRequest(retCodeParameter.Value, wb); } byte[] data = Util.Encoder.GetBytes(com.ToString()); packetHandler.AddOutgoingPacket(data, PacketType.Command); } }
private E <CommandError> SendCommandBase(WaitBlock wb, Ts3Command com) { lock (statusLock) { if (context.WasExit || (!Connected && com.ExpectResponse)) { return(Util.TimeOutCommandError); } if (com.ExpectResponse) { var responseNumber = ++returnCode; var retCodeParameter = new CommandParameter("return_code", responseNumber); com.AppendParameter(retCodeParameter); msgProc.EnqueueRequest(retCodeParameter.Value, wb); } var message = com.ToString(); LogCmd.Debug("[O] {0}", message); byte[] data = Util.Encoder.GetBytes(message); packetHandler.AddOutgoingPacket(data, PacketType.Command); } return(E <CommandError> .OkR); }