// // Only for use by Connector, Acceptor // internal Transceiver(IceInternal.Transceiver transceiver) { _transceiver = transceiver; _configuration = Configuration.getInstance(); _initialized = false; _readBuffer = new IceInternal.Buffer(); _readBuffer.resize(1024 * 8, true); // 8KB buffer _readBuffer.b.position(0); _readBufferPos = 0; _buffered = _configuration.buffered(); }
public override IceInternal.Transceiver transceiver() { IceInternal.Transceiver transceiver = _endpoint.transceiver(); if (transceiver != null) { return(new Transceiver(transceiver)); } else { return(null); } }
// // Only for use by ConnectorI, AcceptorI. // internal TransceiverI(Instance instance, IceInternal.Transceiver del, string hostOrAdapterName, bool incoming) { _instance = instance; _delegate = del; _incoming = incoming; if (_incoming) { _adapterName = hostOrAdapterName; } else { _host = hostOrAdapterName; } _sslStream = null; _verifyPeer = _instance.properties().getPropertyAsIntWithDefault("IceSSL.VerifyPeer", 2); }
// // Only for use by ConnectorI, AcceptorI. // internal TransceiverI(Instance instance, IceInternal.Transceiver del, string hostOrAdapterName, bool incoming) { _instance = instance; _delegate = del; _incoming = incoming; if (_incoming) { _adapterName = hostOrAdapterName; } else { _host = hostOrAdapterName; } _sslStream = null; _verifyPeer = _instance.communicator().GetPropertyAsInt("IceSSL.VerifyPeer") ?? 2; }
// // Return a server side transceiver for this endpoint, or null if a // transceiver can only be created by an acceptor. In case a // transceiver is created, this operation also returns a new // "effective" endpoint, which might differ from this endpoint, // for example, if a dynamic port number is assigned. // public override IceInternal.Transceiver transceiver(ref IceInternal.EndpointI endpoint) { IceInternal.Transceiver transceiver = _endpoint.transceiver(ref endpoint); if (endpoint == _endpoint) { endpoint = this; } else { endpoint = new EndpointI(endpoint); } if (transceiver != null) { return(new Transceiver(transceiver)); } else { return(null); } }
// // Only for use by ConnectorI, AcceptorI. // internal TransceiverI(Instance instance, IceInternal.Transceiver del, string hostOrAdapterName, bool incoming) { _instance = instance; _delegate = del; _incoming = incoming; if (_incoming) { _adapterName = hostOrAdapterName; } else { _host = hostOrAdapterName; } _sslStream = null; _verifyPeer = _instance.properties().getPropertyAsIntWithDefault("IceSSL.VerifyPeer", 2); _chain = new X509Chain(_instance.engine().useMachineContext()); if (_instance.checkCRL() == 0) { _chain.ChainPolicy.RevocationMode = X509RevocationMode.NoCheck; } X509Certificate2Collection caCerts = _instance.engine().caCerts(); if (caCerts != null) { // // We need to set this flag to be able to use a certificate authority from the extra store. // _chain.ChainPolicy.VerificationFlags = X509VerificationFlags.AllowUnknownCertificateAuthority; foreach (X509Certificate2 cert in caCerts) { _chain.ChainPolicy.ExtraStore.Add(cert); } } }
// // Only for use by ConnectorI, AcceptorI. // internal TransceiverI(Instance instance, IceInternal.Transceiver del, string hostOrAdapterName, bool incoming) { _instance = instance; _delegate = del; _incoming = incoming; if(_incoming) { _adapterName = hostOrAdapterName; } else { _host = hostOrAdapterName; } _sslStream = null; _verifyPeer = _instance.properties().getPropertyAsIntWithDefault("IceSSL.VerifyPeer", 2); _chain = new X509Chain(_instance.engine().useMachineContext()); if(_instance.checkCRL() == 0) { _chain.ChainPolicy.RevocationMode = X509RevocationMode.NoCheck; } X509Certificate2Collection caCerts = _instance.engine().caCerts(); if(caCerts != null) { // // We need to set this flag to be able to use a certificate authority from the extra store. // _chain.ChainPolicy.VerificationFlags = X509VerificationFlags.AllowUnknownCertificateAuthority; foreach(X509Certificate2 cert in caCerts) { _chain.ChainPolicy.ExtraStore.Add(cert); } } }
// // Only for use by Connector, Acceptor // internal Transceiver(IceInternal.Transceiver transceiver) { _transceiver = transceiver; _configuration = Configuration.getInstance(); }
internal ConnectionI(Communicator communicator, IceInternal.Instance instance, IceInternal.ACMMonitor monitor, IceInternal.Transceiver transceiver, IceInternal.Connector connector, IceInternal.EndpointI endpoint, ObjectAdapterI adapter) { _communicator = communicator; _instance = instance; _monitor = monitor; _transceiver = transceiver; _desc = transceiver.ToString(); _type = transceiver.protocol(); _connector = connector; _endpoint = endpoint; _adapter = adapter; InitializationData initData = instance.initializationData(); _logger = initData.logger; // Cached for better performance. _traceLevels = instance.traceLevels(); // Cached for better performance. _timer = instance.timer(); _writeTimeout = new TimeoutCallback(this); _writeTimeoutScheduled = false; _readTimeout = new TimeoutCallback(this); _readTimeoutScheduled = false; _warn = initData.properties.getPropertyAsInt("Ice.Warn.Connections") > 0; _warnUdp = initData.properties.getPropertyAsInt("Ice.Warn.Datagrams") > 0; _cacheBuffers = instance.cacheMessageBuffers() > 0; if(_monitor != null && _monitor.getACM().timeout > 0) { _acmLastActivity = IceInternal.Time.currentMonotonicTimeMillis(); } else { _acmLastActivity = -1; } _nextRequestId = 1; _messageSizeMax = adapter != null ? adapter.messageSizeMax() : instance.messageSizeMax(); _batchRequestQueue = new IceInternal.BatchRequestQueue(instance, _endpoint.datagram()); _readStream = new InputStream(instance, Util.currentProtocolEncoding); _readHeader = false; _readStreamPos = -1; _writeStream = new OutputStream(instance, Util.currentProtocolEncoding); _writeStreamPos = -1; _dispatchCount = 0; _state = StateNotInitialized; _compressionLevel = initData.properties.getPropertyAsIntWithDefault("Ice.Compression.Level", 1); if(_compressionLevel < 1) { _compressionLevel = 1; } else if(_compressionLevel > 9) { _compressionLevel = 9; } if(adapter != null) { _servantManager = adapter.getServantManager(); } try { if(adapter != null) { _threadPool = adapter.getThreadPool(); } else { _threadPool = instance.clientThreadPool(); } _threadPool.initialize(this); } catch(LocalException) { throw; } catch(System.Exception ex) { throw new SyscallException(ex); } }
internal ConnectionI(IceInternal.Instance instance, IceInternal.ConnectionReaper reaper, IceInternal.Transceiver transceiver, IceInternal.Connector connector, IceInternal.EndpointI endpoint, ObjectAdapter adapter) { _instance = instance; _reaper = reaper; InitializationData initData = instance.initializationData(); _transceiver = transceiver; _desc = transceiver.ToString(); _type = transceiver.type(); _connector = connector; _endpoint = endpoint; _adapter = adapter; _dispatcher = initData.dispatcher; // Cached for better performance. _logger = initData.logger; // Cached for better performance. _traceLevels = instance.traceLevels(); // Cached for better performance. _timer = instance.timer(); _writeTimeout = new TimeoutCallback(this); _writeTimeoutScheduled = false; _readTimeout = new TimeoutCallback(this); _readTimeoutScheduled = false; _warn = initData.properties.getPropertyAsInt("Ice.Warn.Connections") > 0; _warnUdp = initData.properties.getPropertyAsInt("Ice.Warn.Datagrams") > 0; _cacheBuffers = initData.properties.getPropertyAsIntWithDefault("Ice.CacheMessageBuffers", 1) == 1; _acmAbsoluteTimeoutMillis = 0; _nextRequestId = 1; _batchAutoFlush = initData.properties.getPropertyAsIntWithDefault("Ice.BatchAutoFlush", 1) > 0; _batchStream = new IceInternal.BasicStream(instance, _batchAutoFlush); _batchStreamInUse = false; _batchRequestNum = 0; _batchRequestCompress = false; _batchMarker = 0; _readStream = new IceInternal.BasicStream(instance); _readHeader = false; _writeStream = new IceInternal.BasicStream(instance); _dispatchCount = 0; _state = StateNotInitialized; _compressionLevel = initData.properties.getPropertyAsIntWithDefault("Ice.Compression.Level", 1); if(_compressionLevel < 1) { _compressionLevel = 1; } else if(_compressionLevel > 9) { _compressionLevel = 9; } ObjectAdapterI adapterImpl = _adapter as ObjectAdapterI; if(adapterImpl != null) { _servantManager = adapterImpl.getServantManager(); } try { if(_endpoint.datagram()) { _acmTimeout = 0; } else { if(adapterImpl != null) { _acmTimeout = adapterImpl.getACM(); } else { _acmTimeout = _instance.clientACM(); } } if(adapterImpl != null) { _threadPool = adapterImpl.getThreadPool(); } else { _threadPool = instance.clientThreadPool(); } _threadPool.initialize(this); } catch(LocalException) { throw; } catch(System.Exception ex) { throw new SyscallException(ex); } }