Moves the decoder read state to inside the decoder class.

Motivation:
To clarify that the read state is specific to that class type.

Modifications:
Moved the ‘DecoderReadState’ enumeration definition.

Result:
Neater code that is a little easier to follow.
This commit is contained in:
Liam 2018-11-21 20:57:17 +00:00
parent 899b9bfc92
commit 30aa84629e

View File

@ -42,15 +42,6 @@ extension ByteLength {
} }
} }
///
/// The state of a decoder. It has two distinct sections of data to read. Each must be fully present before it is considered as read.
/// During the time when it is not present the decoder must wait. `DecoderReadState` details that waiting state.
///
private enum DecoderReadState {
case waitingForHeader
case waitingForFrame(length: Int)
}
/// ///
/// A decoder that splits the received `ByteBuffer` by the number of bytes specified in a fixed length header /// A decoder that splits the received `ByteBuffer` by the number of bytes specified in a fixed length header
/// contained within the buffer. /// contained within the buffer.
@ -71,6 +62,16 @@ private enum DecoderReadState {
/// ///
public final class LengthFieldBasedFrameDecoder: ByteToMessageDecoder { public final class LengthFieldBasedFrameDecoder: ByteToMessageDecoder {
///
/// The decoder has two distinct sections of data to read.
/// Each must be fully present before it is considered as read.
/// During the time when it is not present the decoder must wait. `DecoderReadState` details that waiting state.
///
private enum DecoderReadState {
case waitingForHeader
case waitingForFrame(length: Int)
}
public typealias InboundIn = ByteBuffer public typealias InboundIn = ByteBuffer
public typealias InboundOut = ByteBuffer public typealias InboundOut = ByteBuffer