/// <summary> /// Configuration for the tcp connection. /// </summary> /// <param name="tracker">Mechanism for tracking telemetry.</param> /// <param name="connectionRetry">Retry details for (re)establishing the connection.</param> /// <param name="versionSupport">Support for different protocol versions for Kakfa requests and responses.</param> /// <param name="requestTimeout">The maximum time to wait for requests.</param> /// <param name="encoders">Custom Encoding support for different protocol types</param> public ConnectionConfiguration(ITrackEvents tracker, IRetry connectionRetry = null, IVersionSupport versionSupport = null, TimeSpan?requestTimeout = null, IEnumerable <IProtocolTypeEncoder> encoders = null) : this(connectionRetry, versionSupport, requestTimeout, encoders, null, tracker != null ? (ConnectError)tracker.Disconnected : null, tracker != null ? (Connecting)tracker.Connecting : null, tracker != null ? (Connecting)tracker.Connected : null, tracker != null ? (Writing)tracker.WriteEnqueued : null, tracker != null ? (Writing)tracker.Writing : null, tracker != null ? (WriteSuccess)tracker.Written : null, tracker != null ? (WriteError)tracker.WriteFailed : null, tracker != null ? (Reading)tracker.Reading : null, tracker != null ? (ReadingChunk)tracker.ReadingChunk : null, tracker != null ? (ReadChunk)tracker.ReadChunk : null, tracker != null ? (Read)tracker.Read : null, tracker != null ? (ReadError)tracker.ReadFailed: null, tracker != null ? (ProduceRequestMessages)tracker.ProduceRequestMessages : null) { }
public static IConnectionConfiguration ToConfiguration(this ITrackEvents tracker) { if (tracker == null) { return(ConnectionConfiguration.Default); } return(new ConnectionConfiguration( onDisconnected: tracker.Disconnected, onConnecting: tracker.Connecting, onConnected: tracker.Connected, onWriting: tracker.Writing, onWritingBytes: tracker.WritingBytes, onWroteBytes: tracker.WroteBytes, onWritten: tracker.Written, onWriteFailed: tracker.WriteFailed, onReading: tracker.Reading, onReadingBytes: tracker.ReadingBytes, onReadBytes: tracker.ReadBytes, onRead: tracker.Read, onReadFailed: tracker.ReadFailed, onProduceRequestMessages: tracker.ProduceRequestMessages)); }