예제 #1
0
        private IBoltProtocol SelectBoltProtocol(BoltProtocolVersion version, IDictionary <string, string> routingContext)
        {
            var boltProtocol = BoltProtocolFactory.ForVersion(version, routingContext);

            Reader = boltProtocol.NewReader(_tcpSocketClient.ReadStream, _bufferSettings, _logger);
            Writer = boltProtocol.NewWriter(_tcpSocketClient.WriteStream, _bufferSettings, _logger);
            return(boltProtocol);
        }
예제 #2
0
        public HelloResponseHandler(IConnection connection, BoltProtocolVersion version)
        {
            _connection = connection ?? throw new ArgumentNullException(nameof(connection));
            Version     = version ?? throw new ArgumentNullException("Attempting to create a HelloResponseHandler v4.1 with a null BoltProtocolVersion object");

            if (Version < new BoltProtocolVersion(4, 1))
            {
                throw new ArgumentOutOfRangeException("Attempting to initialise a v4.1 HelloResponseHandler with a protocol version less than 4.1");
            }

            AddMetadata <ServerVersionCollector, ServerVersion>();
            AddMetadata <ConnectionIdCollector, string>();
        }
            public async Task ShouldConnectServerAsync()
            {
                var bufferSettings = new BufferSettings(Config.Default);
                var version        = new BoltProtocolVersion(4, 1);
                var connMock       = new Mock <ITcpSocketClient>();

                TcpSocketClientTestSetup.CreateReadStreamMock(connMock, PackStreamBitConverter.GetBytes(version.PackToInt()));
                TcpSocketClientTestSetup.CreateWriteStreamMock(connMock);

                PackStreamBitConverter.GetBytes((int)0x14);

                var client = new SocketClient(FakeUri, null, bufferSettings, socketClient: connMock.Object);

                await client.ConnectAsync(new Dictionary <string, string>());

                // Then
                connMock.Verify(x => x.ConnectAsync(FakeUri), Times.Once);
            }
예제 #4
0
 public HelloResponseHandler(IConnection connection, BoltProtocolVersion version) : base(connection)
 {
     //Add version specific Metadata collectors here...
     Version = version;
 }
예제 #5
0
 public void Update(BoltProtocolVersion boltVersion, string agent)
 {
     Protocol = boltVersion;
     Agent    = agent;
 }
예제 #6
0
 public HelloResponseHandler(IConnection connection, BoltProtocolVersion version) : base(connection, version)
 {
 }
 public HelloResponseHandler(IConnection connection, BoltProtocolVersion version) : base(connection, version)
 {
     AddMetadata <ConfigurationHintsCollector, HintsType>();
 }