public ResponseHandler SendCommand(string commandText) { var dgram = new CommandDatagram(this.GetNextCommandSequenceNumber(), commandText); return this.SendDatagram(dgram); }
/// <summary> /// Sends a command to the server with the specified sequenceNumber, /// and returns a <see cref="ResponseHandler"/> object that can be /// used to wait for the response and to retrieve it. /// </summary> /// <param name="sequenceNumber"> The sequence number for the datagram to be sent. </param> /// <param name="commandText"> The command text to send. </param> /// <returns> /// A <see cref="ResponseHandler"/> object that can be used used to /// wait for the response and to retrieve it. /// </returns> /// <remarks> This method is only used for testing. </remarks> internal ResponseHandler SendCommand(byte sequenceNumber, string commandText) { var dgram = new CommandDatagram(sequenceNumber, commandText); return this.dispatcher.SendDatagram(dgram); }
private void SendKeepAliveDatagram() { if (this.sequenceNumber == -1) { this.sequenceNumber = this.datagramSender.GetNextCommandSequenceNumber(); } Debug.WriteLine("keep alive datagram {0} sent", this.sentCount + 1); var keepAliveDgram = new CommandDatagram((byte)this.sequenceNumber, string.Empty); var responseHandler = this.datagramSender.SendDatagram(keepAliveDgram); this.sentHandlers.Add(responseHandler); this.lastSendTime = DateTime.Now; this.sentCount++; this.metrics.KeepAliveDatagramsSent++; this.Log.TraceFormat("C#{0:000} Sent keep alive command.", keepAliveDgram.SequenceNumber); }