Skip to content
This repository has been archived by the owner on Jun 16, 2022. It is now read-only.

Commit

Permalink
ByteTransport now notifies the message handler that it is ready for m…
Browse files Browse the repository at this point in the history
…ore data.
  • Loading branch information
DJGosnell committed Oct 19, 2016
1 parent 0b3827d commit 9049762
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 3 deletions.
11 changes: 10 additions & 1 deletion src/DtronixMessageQueue/Rpc/MessageHandlers/ByteTransport.cs
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public enum Mode {

private readonly object read_lock = new object();

public event EventHandler<ByteTransportReceiveEventArgs> Receive;
private MqMessage ready_message;

public ByteTransport(ByteTransportMessageHandler<TSession, TConfig> handler, ushort id, Mode mode) {
this.handler = handler;
Expand All @@ -39,6 +39,10 @@ public ByteTransport(ByteTransportMessageHandler<TSession, TConfig> handler, ush

if (mode == Mode.Receive) {
message_reader = new MqMessageReader();
var ready_frame = handler.Session.CreateFrame(new byte[2], MqFrameType.Last);
ready_frame.Write(0, id);

ready_message = ready_frame.ToMessage();
} else {
message_writer = new MqMessageWriter(handler.Session.Config);
}
Expand Down Expand Up @@ -87,8 +91,13 @@ public async Task<int> ReadAsync(byte[] buffer, int offset, int count, Cancellat

if (message_reader.IsAtEnd) {
message_reader.Message = null;

handler.SendHandlerMessage((byte)ByteTransportMessageAction.Ready, ready_message);

}



return total_read;

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,11 @@ public ByteTransportMessageHandler(TSession session) : base(session) {
Handlers.Add((byte)ByteTransportMessageAction.Error, Error);
Handlers.Add((byte)ByteTransportMessageAction.Ready, Ready);
Handlers.Add((byte)ByteTransportMessageAction.Write, Write);
Handlers.Add((byte)ByteTransportMessageAction.Close, Close);
}





private void Error(byte action_handler, MqMessage message) {
throw new NotImplementedException();
}
Expand Down Expand Up @@ -86,6 +85,11 @@ private void Write(byte action_handler, MqMessage message) {
}


private void Close(byte action_handler, MqMessage message) {
throw new NotImplementedException();
}



}
}

0 comments on commit 9049762

Please sign in to comment.