/// <summary> /// Constructor using configuration string /// </summary> /// <param name="ConfigString">Configuration String</param> /// <param name="FriendlyName">Friendly Name</param> public AbsCommunicationInterface(string ConfigString, string FriendlyName) : this() { this.config_string = ConfigString; this.friendly_name = FriendlyName; Config = new Dictionary <string, string>(); string[] ConfigItem = ConfigString.Split(new char[] { ',' }); // Parse all config elements foreach (string Item in ConfigItem) { string[] ConfigNameAndValue = Item.Split(new char[] { '=' }); if (ConfigNameAndValue.Length >= 2 && !ConfigNameAndValue[0].Equals(string.Empty)) { Config.Add(ConfigNameAndValue[0].Trim(), ConfigNameAndValue[1].Trim()); } } // Global buffer setup if (Config.ContainsKey("GlobalBuffer")) { global_buffer = null; global_buffer = new Buffer(int.Parse(Config["GlobalBuffer"])); } // Read buffer setup if (Config.ContainsKey("ReadBuffer")) { read_buffer = null; read_buffer = new Buffer(int.Parse(Config["ReadBuffer"])); } fragment_buffer = new Buffer(DefaultFragmentBufferSize); }
protected void TriggerBufferUpdateEvent(IBufferInternal ReadBuffer) { if (BufferUpdatedHandler != null) { BufferUpdatedHandler(this, ReadBuffer.ToString()); } }
public void Append(IBufferInternal source) { if (source != null) { source.BufferStream.Position = 0; // Importent source.BufferStream.CopyTo(buffer_stream); } }
public void Copy(IBufferInternal source) { if (source != null) { buffer_stream.SetLength(0); source.BufferStream.Position = 0; // Importent source.BufferStream.CopyTo(buffer_stream); } }
internal AbsCommunicationInterface() { global_buffer = new Buffer(DefaultGlobalBufferSize); fragment_buffer = new Buffer(DefaultFragmentBufferSize); read_buffer = new Buffer(DefaultReadBufferSize); ReadTimeout = 10; WriteTimeout = 10; StopToken = string.Empty; LineFeed = DEFAULT_LINE_FEED; WriteReadInterval = 0.1; WriteReadLoopInterval = 0.5; WriteEcho = false; ByteWriteMode = false; ByteWriteInterval = 0.01; }