Enumerates the possible states of the FinSegmentScanner finite state machine.
[Flags] public enum FinSegmentScannerState
The actual values of this enumeration are all individual bit positions. Thus it is possible to use bit masks when testing for a set of states.
The binary length field was completely collected. The indicated binary length can be retrieved from the BinLength property. The caller is expected to skip or read all the binary data and call back into the Scan(Byte) method passing the first byte after the binary data.
The start of a binary data element was found. The statemachine is now collecting the binary data size. If the complete binary length field has been collected the state switches to AfterBinLength.
An errorneous input byte was found. This is no valid segment data and no more bytes must be scanned. Note that this state indicates a severe syntax error that probably only occurs when reading completely random byte data.
An escape character was consumed. The escape character shall be ignored.
A segment delimiter was consumed and the start of a new data element is expected. The properties DEG and GD have already been updated to reflect the position of the new starting element. The properties PrevDEG and PrevGD can be used to get the DEG,GD position of the previous data element.
This is the initial state of the segment scanner finite state machine.
A vanilla string data byte was consumed. That data byte should be added to the content of the current string data element.