private void LoadTransports(BinaryReader reader) { while (reader.PeekChar() != 0) { var transportConfig = new TransportConfig(reader); this.Transports.Add(transportConfig.CreateTransport()); } }
private void LoadTransports(BinaryReader reader) { while (reader.PeekChar() != 0) { var transportConfig = new TransportConfig(reader); var transport = transportConfig.CreateTransport(this.Session); transport.Configure(reader); this.Transports.Add(transport); } // Skip the terminating \x00\x00 at the end of the transport list reader.ReadUInt16(); }
private InlineProcessingResult TransportAdd(Packet request, Packet response) { var transportType = request.Tlvs[TlvType.TransType][0].ValueAsDword(); var url = request.Tlvs[TlvType.TransUrl][0].ValueAsString(); var commsTimeout = request.Tlvs.TryGetTlvValueAsDword(TlvType.TransCommTimeout); var retryTotal = request.Tlvs.TryGetTlvValueAsDword(TlvType.TransRetryTotal); var retryWait = request.Tlvs.TryGetTlvValueAsDword(TlvType.TransRetryWait); commsTimeout = commsTimeout == 0 ? this.currentTransport.Config.CommsTimeout : commsTimeout; retryTotal = retryTotal == 0 ? this.currentTransport.Config.RetryTotal : retryTotal; retryWait = retryWait == 0 ? this.currentTransport.Config.RetryWait : retryWait; var config = new TransportConfig(url, commsTimeout, retryTotal, retryWait); var transport = config.CreateTransport(this.Session); transport.Configure(request); this.Transports.Add(transport); response.Result = PacketResult.Success; return(InlineProcessingResult.Continue); }