Enum FinSegmentScannerState
Enumerates the possible states of the FinSegmentScanner finite state machine.
Namespace: Subsembly.FinTS
Assembly: Subsembly.FinTS.Core.dll
Syntax
[Flags]
public enum FinSegmentScannerState
Remarks
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.
Fields
Name | Description |
---|---|
AfterBinLength | 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. In this state the property Length provides the length up to end of the binary length field. Only when Scan(Byte) is called in this state, the length is updated to include the binary length. |
BinLength | 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. |
EndOfSegment | The end of segment delimiter was consumed. The segment scanner completed its task. The properties DEG and GD reflect the last position. In this state the Scan(Byte) must not be called any more. Calling Restart() will reset the entire context for scanning another segment. |
ParseError | 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. |
Quote | An escape character was consumed. The escape character shall be ignored. |
StartElement | 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. |
Vanilla | A vanilla string data byte was consumed. That data byte should be added to the content of the current string data element. |