/// <summary> /// Initializes our Locally Initialized transaction handler. /// </summary> /// <param name="session"></param> public override void InitializeInteraction(IDSPExSession session) { session.SendMessage( new TransactionInitialMessage( TransactionId, (byte)DTP.GET_VERSION ) ); }
/// <summary> /// Processes the initial echo message /// </summary> /// <param name="session"></param> /// <param name="message"></param> public override void ProcessInitialMessage(IDSPExSession session, TransactionInitialMessage message) { // Echo the message's data Logger.L(LoggerLevel.Info, "Sending echo response of length " + message.DataLength); var response = new TransactionMessage(TransactionID, message.DataBuffer, message.DataOffset, message.DataLength); session.SendMessage(response); session.DeregisterRITransactionHandler(this); }
public override void ProcessMessage(IDSPExSession session, TransactionMessage message) { throw new InvalidOperationException( "ProcessMessage invoked on stateless rith! " + $"TID: {message.TransactionId} " + $"OFF: {message.DataOffset} " + $"LEN: {message.DataLength} " + $"DAT: {message.DataBuffer.ToHex()} " ); }
public override void ProcessMessage(IDSPExSession session, TransactionMessage message) { throw new InvalidOperationException( "ProcessMessage invoked on stateless rith! " + $"TID: {message.TransactionId} " + $"OFF: {message.DataOffset} " + $"LEN: {message.DataLength} " + $"DAT: {message.DataBuffer.ToHex()} " ); }
/// <summary> /// Initializes our Locally Initialized transaction handler, sending over the initial echo /// request. /// </summary> /// <param name="session"></param> public override void InitializeInteraction(IDSPExSession session) { session.SendMessage( new TransactionInitialMessage( TransactionId, (byte)DTP.ECHO, RequestData, 0, RequestData.Length ) ); Logger.L(LoggerLevel.Info, "Sent Echo"); }
/// <summary> /// Processes the response to our LIT Handler. The data segment of the message should be /// identical to our request data, as this is an echo implementation. /// </summary> /// <param name="session"></param> /// <param name="message"></param> public unsafe override void ProcessMessage(IDSPExSession session, TransactionMessage message) { bool match = RequestData.Length == message.DataLength; //if (match) //{ // fixed (byte* pRequestBuffer = RequestData) // fixed (byte* pResponseBuffer = message.DataBuffer) // { // byte* pResponseBuffer_ = pResponseBuffer + message.DataOffset; // match = memcmp(pRequestBuffer, pResponseBuffer_, RequestData.Length) == 0; // } //} ResponseDataMatched = match; session.DeregisterLITransactionHandler(this); OnCompletion(); Logger.L(LoggerLevel.Info, "Echo response matched? " + match); }
public override void ProcessInitialMessage(IDSPExSession session, TransactionInitialMessage message) { processInitialMessage(new LimitedDSPExSessionImpl(session), message); session.DeregisterRITransactionHandler(this); }
/// <summary> /// Creates the initial message which begins our interaction. /// </summary> public abstract void InitializeInteraction(IDSPExSession session);
public override void ProcessMessage(IDSPExSession session, TransactionMessage message) { throw new System.NotImplementedException(); }
public override void ProcessInitialMessage(IDSPExSession session, TransactionInitialMessage message) { }
public LimitedDSPExSessionImpl(IDSPExSession innerSession) { this.innerSession = innerSession; }
public override void ProcessMessage(IDSPExSession session, TransactionMessage message) { throw new System.NotImplementedException(); }
public override void ProcessInitialMessage(IDSPExSession session, TransactionInitialMessage message) { }
/// <summary> /// Processes the response to our LIT Handler. The data segment of the message should be /// identical to our request data, as this is an echo implementation. /// </summary> /// <param name="session"></param> /// <param name="message"></param> public override void ProcessMessage(IDSPExSession session, TransactionMessage message) { ResponseData = message.DataBuffer.SubArray(message.DataOffset, message.DataLength); session.DeregisterLITransactionHandler(this); OnCompletion(); }
/// <summary> /// Handles the initial message (server-sent) which begins our transaction. /// </summary> public abstract void ProcessInitialMessage(IDSPExSession session, TransactionInitialMessage message);
/// <summary> /// DSPExRITEchoHandler shouldn't ever get here. /// </summary> /// <param name="session"></param> /// <param name="message"></param> public override void ProcessMessage(IDSPExSession session, TransactionMessage message) { //Just eat the packet [do nothing] }
public override void ProcessInitialMessage(IDSPExSession session, TransactionInitialMessage message) { processInitialMessage(new LimitedDSPExSessionImpl(session), message); session.DeregisterRITransactionHandler(this); }
/// <summary> /// Processes a message recieved from the remote endpoint /// </summary> /// <param name="session"> /// DSPEx session object, which permits us to send messages. /// </param> /// <param name="message"> /// The recieved DSPEx message which we are to process. /// </param> public abstract void ProcessMessage(IDSPExSession session, TransactionMessage message);
public LimitedDSPExSessionImpl(IDSPExSession innerSession) { this.innerSession = innerSession; }