示例#1
0
        public IProvider CreateProvider(Uri remoteUri)
        {
            ITransportContext transportContext = TransportContextFactory.CreateTransportContext(remoteUri);
            AmqpProvider amqpProvider = new AmqpProvider(remoteUri, transportContext);

            StringDictionary properties = URISupport.ParseQuery(remoteUri.Query);
            StringDictionary filteredProperties = PropertyUtil.FilterProperties(properties, "amqp.");
            PropertyUtil.SetProperties(amqpProvider, filteredProperties);

            return amqpProvider;
        }
        public void TestCreateSecuredWithDefaultOptions()
        {
            Uri uri = new Uri("amqps://localhost:5672");
            ISecureTransportContext transportContext = TransportContextFactory.CreateTransportContext(uri) as ISecureTransportContext;

            Assert.NotNull(transportContext);
            Assert.IsTrue(transportContext.IsSecure);

            Assert.AreEqual(8192, transportContext.ReceiveBufferSize);
            Assert.AreEqual(0, transportContext.ReceiveTimeout);
            Assert.AreEqual(8192, transportContext.SendBufferSize);
            Assert.AreEqual(0, transportContext.SendTimeout);
            Assert.IsTrue(transportContext.TcpNoDelay);
        }
        public void TestCreateWithCustomOptions()
        {
            Uri uri = new Uri("amqp://localhost:5672" + "?" +
                              "transport.receiveBufferSize=" + customReceiveBufferSize + "&" +
                              "transport.receiveTimeout=" + customReceiveTimeout + "&" +
                              "transport.sendBufferSize=" + customSendBufferSize + "&" +
                              "transport.sendTimeout=" + customSendTimeout + "&" +
                              "transport.tcpNoDelay=" + customTcpNoDelay);
            ITransportContext transportContext = TransportContextFactory.CreateTransportContext(uri);

            Assert.NotNull(transportContext);
            Assert.IsFalse(transportContext.IsSecure);

            Assert.AreEqual(customReceiveBufferSize, transportContext.ReceiveBufferSize);
            Assert.AreEqual(customReceiveTimeout, transportContext.ReceiveTimeout);
            Assert.AreEqual(customSendBufferSize, transportContext.SendBufferSize);
            Assert.AreEqual(customSendTimeout, transportContext.SendTimeout);
            Assert.AreEqual(customTcpNoDelay, transportContext.TcpNoDelay);
        }