Пример #1
0
 internal GiopClientConnectionDesc(GiopClientConnectionManager conManager, GiopClientConnection connection,
                                   GiopRequestNumberGenerator reqNumberGen,
                                   GiopTransportMessageHandler transportHandler)
     : base(conManager, transportHandler)
 {
     m_reqNumGen  = reqNumberGen;
     m_connection = connection;
 }
Пример #2
0
 internal void Configure(GiopClientConnectionManager conManager, GiopMessageHandler messageHandler,
                         IiopUrlUtil iiopUrlUtil,
                         RetryConfig retries)
 {
     m_conManager     = conManager;
     m_messageHandler = messageHandler;
     m_iiopUrlUtil    = iiopUrlUtil;
     m_retries        = retries;
 }
Пример #3
0
 /// <param name="conManager">the connection manager for this channel, must be != null</param>
 internal IiopClientTransportSinkProvider(GiopClientConnectionManager conManager)
 {
     if (conManager == null)
     {
         // should not occur
         throw new omg.org.CORBA.INTERNAL(997, omg.org.CORBA.CompletionStatus.Completed_No);
     }
     m_conManager = conManager;
 }
Пример #4
0
        /// <param name="connectionKey">the key describing the connection</param>
        internal GiopBidirInitiatedConnection(string connectionKey, GiopTransportMessageHandler transportHandler,
                                              GiopClientConnectionManager conManager)
        {
            GiopRequestNumberGenerator reqNumberGen =
                new GiopRequestNumberGenerator(false);     // not connection originator -> create non-even req. numbers
            GiopClientConnectionDesc conDesc = new GiopClientConnectionDesc(conManager, this, reqNumberGen,
                                                                            transportHandler);

            Initalize(connectionKey, transportHandler, conDesc);
        }
Пример #5
0
        private readonly Hashtable m_typesVerified = new Hashtable(); // contains the verified types for this proxy

        #endregion IFields
        #region IConstructors

        /// <param name="nextSink">the next sink in the channel. In this sink chain, a
        /// IiopClientTransportSink must be present.</param>
        internal IiopClientFormatterSink(IClientChannelSink nextSink, GiopClientConnectionManager conManager,
                                         GiopMessageHandler messageHandler,
                                         IiopUrlUtil iiopUrlUtil,
                                         RetryConfig retries)
        {
            m_nextSink       = nextSink;
            m_conManager     = conManager;
            m_messageHandler = messageHandler;
            m_iiopUrlUtil    = iiopUrlUtil;
            m_retries        = retries;
        }
Пример #6
0
        /// <param name="connectionKey">the key describing the connection</param>
        /// <param name="transport">a not yet connected client transport</param>
        /// <param name="headerFlags">the header flags to use for transport related giop messages.</param>
        internal GiopClientInitiatedConnection(string connectionKey, IClientTransport transport,
                                               MessageTimeout requestTimeOut, GiopClientConnectionManager conManager,
                                               bool supportBidir, byte headerFlags)
        {
            GiopRequestNumberGenerator reqNumberGen =
                (!supportBidir ? new GiopRequestNumberGenerator() : new GiopRequestNumberGenerator(true));
            GiopTransportMessageHandler handler =
                new GiopTransportMessageHandler(transport, requestTimeOut, headerFlags);
            GiopClientConnectionDesc conDesc = new GiopClientConnectionDesc(conManager, this, reqNumberGen, handler);

            m_clientTransport = transport;
            Initalize(connectionKey, handler, conDesc);
        }
Пример #7
0
 internal IiopClientTransportSink(string url, object channelData,
                                  GiopClientConnectionManager conManager)
 {
     Trace.WriteLine("create transport sink for URL: " + url);
     m_conManager = conManager;
 }
Пример #8
0
 /// <param name="connectionKey">the key describing the connection</param>
 /// <param name="transport">a not yet connected client transport</param>
 /// <param name="headerFlags">the header flags to use for transport related giop messages.</param>
 internal GiopClientInitiatedConnection(string connectionKey, IClientTransport transport,
                                        MessageTimeout requestTimeOut, GiopClientConnectionManager conManager,
                                        bool supportBidir, byte headerFlags)
 {
     GiopRequestNumberGenerator reqNumberGen =
         (!supportBidir ? new GiopRequestNumberGenerator() : new GiopRequestNumberGenerator(true));
     GiopTransportMessageHandler handler =
               new GiopTransportMessageHandler(transport, requestTimeOut, headerFlags);
     GiopClientConnectionDesc conDesc = new GiopClientConnectionDesc(conManager, this, reqNumberGen, handler);
     m_clientTransport = transport;
     Initalize(connectionKey, handler, conDesc);
 }
Пример #9
0
        private readonly Hashtable m_typesVerified = new Hashtable(); // contains the verified types for this proxy

        #endregion IFields
        #region IConstructors

        /// <param name="nextSink">the next sink in the channel. In this sink chain, a
        /// IiopClientTransportSink must be present.</param>
        internal IiopClientFormatterSink(IClientChannelSink nextSink, GiopClientConnectionManager conManager,
                                         GiopMessageHandler messageHandler,
                                         IiopUrlUtil iiopUrlUtil,
                                         RetryConfig retries) {
            m_nextSink = nextSink;
            m_conManager = conManager;
            m_messageHandler = messageHandler;
            m_iiopUrlUtil = iiopUrlUtil;
            m_retries = retries;
        }
Пример #10
0
        /// <summary>initalize this channel</summary>
        private void InitChannel()
        {
            Ch.Elca.Iiop.Marshalling.ArgumentsSerializerFactory argumentSerializerFactory =
                omg.org.CORBA.OrbServices.GetSingleton().ArgumentsSerializerFactory;
            CodecFactory codecFactory =
                omg.org.CORBA.OrbServices.GetSingleton().CodecFactory;
            omg.org.IOP.Codec codec = codecFactory.create_codec(
                    new omg.org.IOP.Encoding(omg.org.IOP.ENCODING_CDR_ENCAPS.ConstVal,
                                             1, 2));
            m_transportFactory.Codec = codec;
            m_iiopUrlUtil =
                omg.org.CORBA.OrbServices.GetSingleton().IiopUrlUtil;

            if (!m_isBidir)
            {
                m_conManager = new GiopClientConnectionManager(m_transportFactory, m_requestTimeOut,
                                                               m_unusedClientConnectionTimeOut, m_maxNumberOfConnections,
                                                               m_allowMultiplex, m_maxNumberOfMultplexedRequests,
                                                               m_headerFlags);
            }
            else
            {
                m_conManager = new GiopBidirectionalConnectionManager(m_transportFactory, m_requestTimeOut,
                                                                      m_unusedClientConnectionTimeOut, m_maxNumberOfConnections,
                                                                      m_allowMultiplex, m_maxNumberOfMultplexedRequests,
                                                                      m_headerFlags);
            }
            IiopClientTransportSinkProvider transportProvider =
                new IiopClientTransportSinkProvider(m_conManager);
            if (m_providerChain != null)
            {
                // append transport provider to the chain
                IClientChannelSinkProvider prov = m_providerChain;
                while (prov.Next != null) { prov = prov.Next; }
                prov.Next = transportProvider; // append the transport provider at the end
            }
            else
            {
                // create the default provider chain
                IClientFormatterSinkProvider formatterProv = new IiopClientFormatterSinkProvider();
                formatterProv.Next = transportProvider;
                m_providerChain = formatterProv;
            }
            GiopMessageHandler messageHandler =
                new GiopMessageHandler(argumentSerializerFactory,
                                       m_headerFlags, m_interceptionOptions);
            ConfigureSinkProviderChain(m_conManager, messageHandler, m_iiopUrlUtil,
                                       m_retryConfig);
        }
Пример #11
0
 /// <summary>
 /// Configures the installed IIOPClientSideFormatterProivder
 /// </summary>
 /// <param name="interceptionOptions"></param>
 private void ConfigureSinkProviderChain(GiopClientConnectionManager conManager,
                                         GiopMessageHandler messageHandler,
                                         IiopUrlUtil iiopUrlUtil,
                                         RetryConfig retries)
 {
     IClientChannelSinkProvider prov = m_providerChain;
     while (prov != null)
     {
         if (prov is IiopClientFormatterSinkProvider)
         {
             ((IiopClientFormatterSinkProvider)prov).Configure(conManager, messageHandler, iiopUrlUtil,
                                                               retries);
             break;
         }
         prov = prov.Next;
     }
 }
Пример #12
0
 internal IiopClientTransportSink(string url, object channelData, 
                                  GiopClientConnectionManager conManager) {
     Trace.WriteLine("create transport sink for URL: " + url);
     m_conManager = conManager;    
 }
Пример #13
0
 /// <param name="conManager">the connection manager for this channel, must be != null</param>
 internal IiopClientTransportSinkProvider(GiopClientConnectionManager conManager) {
     if (conManager == null) {
         // should not occur
         throw new omg.org.CORBA.INTERNAL(997, omg.org.CORBA.CompletionStatus.Completed_No);
     }            
     m_conManager = conManager;
 }
Пример #14
0
 internal GiopConnectionDesc(GiopClientConnectionManager conManager,
                            GiopTransportMessageHandler transportHandler)
 {
     m_conManager = conManager;
     m_transportHandler = transportHandler;
 }
Пример #15
0
 /// <param name="connectionKey">the key describing the connection</param>        
 internal GiopBidirInitiatedConnection(string connectionKey, GiopTransportMessageHandler transportHandler,
                                       GiopClientConnectionManager conManager)
 {
     GiopRequestNumberGenerator reqNumberGen =
             new GiopRequestNumberGenerator(false); // not connection originator -> create non-even req. numbers
     GiopClientConnectionDesc conDesc = new GiopClientConnectionDesc(conManager, this, reqNumberGen,
                                                                     transportHandler);
     Initalize(connectionKey, transportHandler, conDesc);
 }
Пример #16
0
 internal void Configure(GiopClientConnectionManager conManager, GiopMessageHandler messageHandler,
                         IiopUrlUtil iiopUrlUtil,
                         RetryConfig retries) {
     m_conManager = conManager;
     m_messageHandler = messageHandler;
     m_iiopUrlUtil = iiopUrlUtil;
     m_retries = retries;
 }
Пример #17
0
 internal GiopConnectionDesc(GiopClientConnectionManager conManager,
                             GiopTransportMessageHandler transportHandler)
 {
     m_conManager       = conManager;
     m_transportHandler = transportHandler;
 }
Пример #18
0
 internal GiopClientConnectionDesc(GiopClientConnectionManager conManager, GiopClientConnection connection,
                                   GiopRequestNumberGenerator reqNumberGen,
                                   GiopTransportMessageHandler transportHandler)
     : base(conManager, transportHandler)
 {
     m_reqNumGen = reqNumberGen;
     m_connection = connection;
 }