private void ProcessByte(byte inputByte) { if (_currentByteProcessingStrategy == null) { if (inputByte == 0) _currentByteProcessingStrategy = new ZeroTerminateStringBuildingStrategy(); else _currentByteProcessingStrategy = new FixedLengthStringBuildingStrategy(inputByte); } else { var stringBuildingState = _currentByteProcessingStrategy.ProcessByte(inputByte, ref _currentOutputString); if (stringBuildingState == StringBuildingState.StringComplete) { _currentByteProcessingStrategy = null; _outputter.OutputText(_currentOutputString); _currentOutputString = ""; } } }
private void ProcessByte(byte inputByte) { if (_currentByteProcessingStrategy == null) { if (inputByte == 0) { _currentByteProcessingStrategy = new ZeroTerminateStringBuildingStrategy(); } else { _currentByteProcessingStrategy = new FixedLengthStringBuildingStrategy(inputByte); } } else { var stringBuildingState = _currentByteProcessingStrategy.ProcessByte(inputByte, ref _currentOutputString); if (stringBuildingState == StringBuildingState.StringComplete) { _currentByteProcessingStrategy = null; _outputter.OutputText(_currentOutputString); _currentOutputString = ""; } } }