Example #1
0
        private ControlConnection NewInstance(
            ProtocolVersion version = ProtocolVersion.MaxSupported,
            Configuration config    = null,
            Metadata metadata       = null)
        {
            config = config ?? new Configuration();
            if (metadata == null)
            {
                metadata = new Metadata(config);
                metadata.AddHost(new IPEndPoint(IPAddress.Parse(_testCluster.InitialContactPoint), ProtocolOptions.DefaultPort));
            }
            var cc = new ControlConnection(
                Mock.Of <IInternalCluster>(),
                GetEventDebouncer(config),
                version,
                config,
                metadata,
                new List <IContactPoint>
            {
                new IpLiteralContactPoint(IPAddress.Parse(_testCluster.InitialContactPoint), config.ProtocolOptions, config.ServerNameResolver)
            });

            metadata.ControlConnection = cc;
            return(cc);
        }
 public void UpdatePeersInfoModifiesPool()
 {
     var metadata = new Metadata(new Configuration());
     var cc = new ControlConnection(GetCluster(), metadata);
     cc.Host = TestHelper.CreateHost("127.0.0.1");
     metadata.AddHost(cc.Host.Address);
     var hostAddress2 = IPAddress.Parse("127.0.0.2");
     var hostAddress3 = IPAddress.Parse("127.0.0.3");
     var rows = TestHelper.CreateRows(new List<Dictionary<string, object>>
     {
         new Dictionary<string, object>{{"rpc_address", hostAddress2}, {"peer", null}, { "data_center", "ut-dc2" }, { "rack", "ut-rack2" }, {"tokens", null}},
         new Dictionary<string, object>{{"rpc_address", IPAddress.Parse("0.0.0.0")}, {"peer", hostAddress3}, { "data_center", "ut-dc3" }, { "rack", "ut-rack3" }, {"tokens", null}}
     });
     cc.UpdatePeersInfo(rows);
     Assert.AreEqual(3, metadata.AllHosts().Count);
     //using rpc_address
     var host2 = metadata.GetHost(new IPEndPoint(hostAddress2, ProtocolOptions.DefaultPort));
     Assert.NotNull(host2);
     Assert.AreEqual("ut-dc2", host2.Datacenter);
     Assert.AreEqual("ut-rack2", host2.Rack);
     //with rpc_address = 0.0.0.0, use peer
     var host3 = metadata.GetHost(new IPEndPoint(hostAddress3, ProtocolOptions.DefaultPort));
     Assert.NotNull(host3);
     Assert.AreEqual("ut-dc3", host3.Datacenter);
     Assert.AreEqual("ut-rack3", host3.Rack);
 }
Example #3
0
        public void UpdatePeersInfoModifiesPool()
        {
            var metadata = new Metadata(new Configuration());
            var cc       = new ControlConnection(GetCluster(), metadata);

            cc.Host = TestHelper.CreateHost("127.0.0.1");
            metadata.AddHost(cc.Host.Address);
            var hostAddress2 = IPAddress.Parse("127.0.0.2");
            var hostAddress3 = IPAddress.Parse("127.0.0.3");
            var rows         = TestHelper.CreateRows(new List <Dictionary <string, object> >
            {
                new Dictionary <string, object> {
                    { "rpc_address", hostAddress2 }, { "peer", null }, { "data_center", "ut-dc2" }, { "rack", "ut-rack2" }, { "tokens", null }
                },
                new Dictionary <string, object> {
                    { "rpc_address", IPAddress.Parse("0.0.0.0") }, { "peer", hostAddress3 }, { "data_center", "ut-dc3" }, { "rack", "ut-rack3" }, { "tokens", null }
                }
            });

            cc.UpdatePeersInfo(rows);
            Assert.AreEqual(3, metadata.AllHosts().Count);
            //using rpc_address
            var host2 = metadata.GetHost(new IPEndPoint(hostAddress2, ProtocolOptions.DefaultPort));

            Assert.NotNull(host2);
            Assert.AreEqual("ut-dc2", host2.Datacenter);
            Assert.AreEqual("ut-rack2", host2.Rack);
            //with rpc_address = 0.0.0.0, use peer
            var host3 = metadata.GetHost(new IPEndPoint(hostAddress3, ProtocolOptions.DefaultPort));

            Assert.NotNull(host3);
            Assert.AreEqual("ut-dc3", host3.Datacenter);
            Assert.AreEqual("ut-rack3", host3.Rack);
        }
        public override void Initialize()
        {
            base.Initialize();

            this.connection = new ControlConnection(this.SessionFactory
                                                    , new RequestWriter()
                                                    , this.Client
                                                    , StubConstants.Configuration
                                                    );
        }
Example #5
0
        // This private .ctor handles both of the public overloads which take connectionString
        HybridConnectionListener(string connectionString, string path, bool pathFromConnectionString)
        {
            if (string.IsNullOrWhiteSpace(connectionString))
            {
                throw RelayEventSource.Log.ArgumentNull(nameof(connectionString), this);
            }

            var builder = new RelayConnectionStringBuilder(connectionString);

            builder.Validate();

            if (pathFromConnectionString)
            {
                if (string.IsNullOrWhiteSpace(builder.EntityPath))
                {
                    // connectionString did not have required EntityPath
                    throw RelayEventSource.Log.Argument(nameof(connectionString), SR.GetString(SR.ConnectionStringMustIncludeEntityPath, nameof(HybridConnectionClient)), this);
                }
            }
            else
            {
                if (string.IsNullOrWhiteSpace(path))
                {
                    // path parameter is required
                    throw RelayEventSource.Log.ArgumentNull(nameof(path), this);
                }
                else if (!string.IsNullOrWhiteSpace(builder.EntityPath))
                {
                    // EntityPath must not appear in connectionString
                    throw RelayEventSource.Log.Argument(nameof(connectionString), SR.GetString(SR.ConnectionStringMustNotIncludeEntityPath, nameof(HybridConnectionListener)), this);
                }

                builder.EntityPath = path;
            }

            this.Address = new Uri(builder.Endpoint, builder.EntityPath);
            this.ConnectionBufferSize = DefaultConnectionBufferSize;
            this.OperationTimeout     = builder.OperationTimeout;
            this.proxy                     = DefaultWebProxy.Instance;
            this.TrackingContext           = TrackingContext.Create(this.Address);
            this.connectionInputQueue      = new InputQueue <HybridConnectionStream>();
            this.controlConnection         = new ControlConnection(this);
            this.useBuiltInClientWebSocket = HybridConnectionConstants.DefaultUseBuiltInClientWebSocket;
            this.ClientWebSocketFactory    = Microsoft.Azure.Relay.ClientWebSocketFactory.Default;
            this.KeepAliveInterval         = HybridConnectionConstants.KeepAliveInterval;

            this.TokenProvider = builder.CreateTokenProvider();
            if (this.TokenProvider == null)
            {
                throw RelayEventSource.Log.Argument(nameof(connectionString), SR.CannotCreateTokenProviderFromConnectionString, this);
            }
        }
 public void UpdatePeersInfoWithNullRpcIgnores()
 {
     var metadata = new Metadata(new Configuration());
     var cc = new ControlConnection(GetCluster(), metadata);
     cc.Host = TestHelper.CreateHost("127.0.0.1");
     metadata.AddHost(cc.Host.Address);
     var rows = TestHelper.CreateRows(new List<Dictionary<string, object>>
     {
         new Dictionary<string, object>{{"rpc_address", null}, {"peer", null}, { "data_center", "ut-dc2" }, { "rack", "ut-rack" }, {"tokens", null}}
     });
     cc.UpdatePeersInfo(rows);
     //Only local host present
     Assert.AreEqual(1, metadata.AllHosts().Count);
 }
Example #7
0
 public void Disconnect(bool informServer)
 {
     if (m_Connection != null)
     {
         if (m_Connection.Connected)
         {
             m_Connection.Disconnect(informServer);
         }
         m_Connection.Dispose();
     }
     m_Connection    = null;
     ServerName      = String.Empty;
     m_IsLocalPlayer = false;
 }
 public void UpdateLocalNodeInfoModifiesHost()
 {
     var metadata = new Metadata(new Configuration());
     var cc = new ControlConnection(GetCluster(), metadata);
     cc.Host = TestHelper.CreateHost("127.0.0.1");
     var row = TestHelper.CreateRow(new Dictionary<string, object>
     {
         { "cluster_name", "ut-cluster" }, { "data_center", "ut-dc" }, { "rack", "ut-rack" }, {"tokens", null}
     });
     cc.UpdateLocalInfo(row);
     Assert.AreEqual("ut-cluster", metadata.ClusterName);
     Assert.AreEqual("ut-dc", cc.Host.Datacenter);
     Assert.AreEqual("ut-rack", cc.Host.Rack);
 }
Example #9
0
        /// <summary>
        /// Closes the connection and reads the server's reply
        /// </summary>
        public override void Close()
        {
            base.Close();

            try {
                if (ControlConnection != null)
                {
                    ControlConnection.CloseDataStream(this);
                }
            }
            finally {
                m_commandStatus = new FtpReply();
                m_control       = null;
            }
        }
 private ControlConnection NewInstance(ITestCluster testCluster, Configuration config = null, Metadata metadata = null)
 {
     var version = GetProtocolVersion();
     if (config == null)
     {
         config = new Configuration();
     }
     if (metadata == null)
     {
         metadata = new Metadata(config);
         metadata.AddHost(new IPEndPoint(IPAddress.Parse(testCluster.InitialContactPoint), ProtocolOptions.DefaultPort));
     }
     var cc = new ControlConnection(version, config, metadata);
     metadata.ControlConnection = cc;
     return cc;
 }
Example #11
0
        /// <summary>
        /// Closes the connection and reads the server's reply
        /// </summary>
        public new FtpReply Close()
        {
            base.Close();

            try {
                if (ControlConnection != null)
                {
                    return(ControlConnection.CloseDataStream(this));
                }
            } finally {
                m_commandStatus = new FtpReply();
                m_control       = null;
            }

            return(new FtpReply());
        }
Example #12
0
        public void UpdateLocalNodeInfoModifiesHost()
        {
            var metadata = new Metadata(new Configuration());
            var cc       = new ControlConnection(GetCluster(), metadata);

            cc.Host = TestHelper.CreateHost("127.0.0.1");
            var row = TestHelper.CreateRow(new Dictionary <string, object>
            {
                { "cluster_name", "ut-cluster" }, { "data_center", "ut-dc" }, { "rack", "ut-rack" }, { "tokens", null }
            });

            cc.UpdateLocalInfo(row);
            Assert.AreEqual("ut-cluster", metadata.ClusterName);
            Assert.AreEqual("ut-dc", cc.Host.Datacenter);
            Assert.AreEqual("ut-rack", cc.Host.Rack);
        }
Example #13
0
        private ControlConnection NewInstance(
            ProtocolVersion version = ProtocolVersion.MaxSupported,
            Configuration config    = null,
            Metadata metadata       = null)
        {
            config = config ?? new Configuration();
            if (metadata == null)
            {
                metadata = new Metadata(config);
                metadata.AddHost(new IPEndPoint(IPAddress.Parse(_testCluster.InitialContactPoint), ProtocolOptions.DefaultPort));
            }
            var cc = new ControlConnection(version, config, metadata);

            metadata.ControlConnection = cc;
            return(cc);
        }
        // This private .ctor handles both of the public overloads which take connectionString
        HybridConnectionListener(string connectionString, string path, bool pathFromConnectionString)
        {
            if (string.IsNullOrWhiteSpace(connectionString))
            {
                throw RelayEventSource.Log.ArgumentNull(nameof(connectionString), this);
            }

            var builder = new RelayConnectionStringBuilder(connectionString);

            builder.Validate();

            if (pathFromConnectionString)
            {
                if (string.IsNullOrWhiteSpace(builder.EntityPath))
                {
                    // connectionString did not have required EntityPath
                    throw RelayEventSource.Log.Argument(nameof(connectionString), SR.GetString(SR.ConnectionStringMustIncludeEntityPath, nameof(HybridConnectionClient)), this);
                }
            }
            else
            {
                if (string.IsNullOrWhiteSpace(path))
                {
                    // path parameter is required
                    throw RelayEventSource.Log.ArgumentNull(nameof(path), this);
                }
                else if (!string.IsNullOrWhiteSpace(builder.EntityPath))
                {
                    // EntityPath must not appear in connectionString
                    throw RelayEventSource.Log.Argument(nameof(connectionString), SR.GetString(SR.ConnectionStringMustNotIncludeEntityPath, nameof(HybridConnectionListener)), this);
                }

                builder.EntityPath = path;
            }

            this.Address              = new Uri(builder.Endpoint, builder.EntityPath);
            this.TokenProvider        = builder.CreateTokenProvider();
            this.ConnectionBufferSize = DefaultConnectionBufferSize;
            this.OperationTimeout     = builder.OperationTimeout;
            this.proxy           = WebRequest.DefaultWebProxy;
            this.TrackingContext = TrackingContext.Create(this.Address);

            this.clientConnections    = new Dictionary <string, DataConnection>();
            this.connectionInputQueue = new InputQueue <HybridConnectionStream>();
            this.controlConnection    = new ControlConnection(this);
        }
        private ControlConnection NewInstance(ITestCluster testCluster, Configuration config = null, Metadata metadata = null)
        {
            var version = (byte)Cluster.MaxProtocolVersion;

            if (config == null)
            {
                config = new Configuration();
            }
            if (metadata == null)
            {
                metadata = new Metadata(config);
                metadata.AddHost(new IPEndPoint(IPAddress.Parse(testCluster.InitialContactPoint), ProtocolOptions.DefaultPort));
            }
            var cc = new ControlConnection(version, config, metadata);

            metadata.ControlConnection = cc;
            return(cc);
        }
Example #16
0
        public void UpdatePeersInfoWithNullRpcIgnores()
        {
            var metadata = new Metadata(new Configuration());
            var cc       = new ControlConnection(GetCluster(), metadata);

            cc.Host = TestHelper.CreateHost("127.0.0.1");
            metadata.AddHost(cc.Host.Address);
            var rows = TestHelper.CreateRows(new List <Dictionary <string, object> >
            {
                new Dictionary <string, object> {
                    { "rpc_address", null }, { "peer", null }, { "data_center", "ut-dc2" }, { "rack", "ut-rack" }, { "tokens", null }
                }
            });

            cc.UpdatePeersInfo(rows);
            //Only local host present
            Assert.AreEqual(1, metadata.AllHosts().Count);
        }
Example #17
0
        public void UpdatePeersInfoUsesAddressTranslator()
        {
            var invokedEndPoints = new List <IPEndPoint>();
            var translatorMock   = new Mock <IAddressTranslator>(MockBehavior.Strict);

            translatorMock
            .Setup(t => t.Translate(It.IsAny <IPEndPoint>()))
            .Callback <IPEndPoint>(invokedEndPoints.Add)
            .Returns <IPEndPoint>(e => e);
            const int portNumber = 9999;
            var       metadata   = new Metadata(new Configuration());
            var       config     = new Configuration(new Policies(),
                                                     new ProtocolOptions(portNumber),
                                                     null,
                                                     new SocketOptions(),
                                                     new ClientOptions(),
                                                     NoneAuthProvider.Instance,
                                                     null,
                                                     new QueryOptions(),
                                                     translatorMock.Object);
            var cc = new ControlConnection(GetCluster(config), metadata);

            cc.Host = TestHelper.CreateHost("127.0.0.1");
            metadata.AddHost(cc.Host.Address);
            var hostAddress2 = IPAddress.Parse("127.0.0.2");
            var hostAddress3 = IPAddress.Parse("127.0.0.3");
            var rows         = TestHelper.CreateRows(new List <Dictionary <string, object> >
            {
                new Dictionary <string, object> {
                    { "rpc_address", hostAddress2 }, { "peer", null }, { "data_center", "ut-dc2" }, { "rack", "ut-rack2" }, { "tokens", null }
                },
                new Dictionary <string, object> {
                    { "rpc_address", IPAddress.Parse("0.0.0.0") }, { "peer", hostAddress3 }, { "data_center", "ut-dc3" }, { "rack", "ut-rack3" }, { "tokens", null }
                }
            });

            cc.UpdatePeersInfo(rows);
            Assert.AreEqual(3, metadata.AllHosts().Count);
            Assert.AreEqual(2, invokedEndPoints.Count);
            Assert.AreEqual(hostAddress2, invokedEndPoints[0].Address);
            Assert.AreEqual(portNumber, invokedEndPoints[0].Port);
            Assert.AreEqual(hostAddress3, invokedEndPoints[1].Address);
            Assert.AreEqual(portNumber, invokedEndPoints[1].Port);
        }
Example #18
0
        /// <summary>
        /// Reads a line off the data stream
        /// </summary>
        /// <returns></returns>
        public string ReadLine()
        {
            string data = null;

            if (!this.CanRead)
            {
                throw new IOException("This stream is not readable!");
            }

            if (this.BaseStream == null)
            {
                throw new IOException("The base stream is null. Has a socket connection been opened yet?");
            }

            data = this.StreamReader.ReadLine();
            ControlConnection.WriteLineToLogStream("> " + data);

            return(data);
        }
Example #19
0
        public static void Main(string[] args)
        {
            try
            {
                Console.BackgroundColor = ConsoleColor.White;
                Console.ForegroundColor = ConsoleColor.Black;
                Console.Clear();
                string            s  = Console.ReadLine();
                ControlConnection cc = new ControlConnection(s);
                Task.Run(() => { cc.ReceivedMessage(); });

                LinkResourceManager lrm = new LinkResourceManager(s);
                Task.Run(() =>
                {
                    lrm.ReceivedMessage();
                });
                RoutingController rc = new RoutingController(Int32.Parse(s));
                Task.Run(() =>
                {
                    rc.Run();
                });


                //Petla wykonuje sie poki nie nacisniemy klawisza "esc"
                while (true)
                {
                    string tmp = Console.ReadLine().ToString();
                    if (tmp == "exit")
                    {
                        break;
                    }
                    else if (tmp.StartsWith("kill"))
                    {
                        lrm.killLink(tmp);
                    }
                }
            }
            catch (Exception E)
            {
                Console.WriteLine(E.Message);
            }
        }
Example #20
0
 public void Connect(ServerInfo server, INetworkClient client, bool isLocalPlayer)
 {
     if (m_Connection != null)
     {
         Disconnect(true);
     }
     m_Connection = new ControlConnection(server, client);
     m_Connection.Connect();
     ServerName      = server.Name;
     m_IsLocalPlayer = isLocalPlayer;
     if (m_Connection != null && !String.IsNullOrEmpty(FilePath))
     {
         String path = FilePath;
         if (path.StartsWith(REMOTE_FILE_TAG))
         {
             path = path.Substring(REMOTE_FILE_TAG.Length);
         }
         m_Connection.SendProjectOpenRequest(path, !m_IsLocalPlayer);
     }
 }
 private ControlConnection NewInstance(byte version = 0, Configuration config = null, Metadata metadata = null)
 {
     if (version == 0)
     {
         version = (byte) Cluster.MaxProtocolVersion;
     }
     if (config == null)
     {
         config = new Configuration();
         config.BufferPool = new Microsoft.IO.RecyclableMemoryStreamManager();
     }
     if (metadata == null)
     {
         metadata = new Metadata(config);
         metadata.AddHost(new IPEndPoint(IPAddress.Parse(_testCluster.InitialContactPoint), ProtocolOptions.DefaultPort));
     }
     var cc = new ControlConnection(version, config, metadata);
     metadata.ControlConnection = cc;
     return cc;
 }
Example #22
0
        private ControlConnection NewInstance(
            ProtocolVersion version = ProtocolVersion.MaxSupported,
            Configuration config    = null,
            Metadata metadata       = null)
        {
            if (config == null)
            {
                config            = new Configuration();
                config.BufferPool = new Microsoft.IO.RecyclableMemoryStreamManager();
            }
            if (metadata == null)
            {
                metadata = new Metadata(config);
                metadata.AddHost(new IPEndPoint(IPAddress.Parse(_testCluster.InitialContactPoint), ProtocolOptions.DefaultPort));
            }
            var cc = new ControlConnection(version, config, metadata);

            metadata.ControlConnection = cc;
            return(cc);
        }
        /// <summary>
        /// Create a new HybridConnectionListener instance for accepting HybridConnections.
        /// </summary>
        /// <param name="address">The address on which to listen for HybridConnections.  This address should
        /// be of the format "sb://contoso.servicebus.windows.net/yourhybridconnection".</param>
        /// <param name="tokenProvider">The TokenProvider for connecting this listener to ServiceBus.</param>
        public HybridConnectionListener(Uri address, TokenProvider tokenProvider)
        {
            if (address == null || tokenProvider == null)
            {
                throw RelayEventSource.Log.ThrowingException(new ArgumentNullException(address == null ? nameof(address) : nameof(tokenProvider)), this);
            }
            else if (address.Scheme != RelayConstants.HybridConnectionScheme)
            {
                throw RelayEventSource.Log.ThrowingException(
                          new ArgumentException(SR.InvalidUriScheme.FormatInvariant(address.Scheme, RelayConstants.HybridConnectionScheme), nameof(address)), this);
            }

            this.Address              = address;
            this.TokenProvider        = tokenProvider;
            this.ConnectionBufferSize = DefaultConnectionBufferSize;
            this.OperationTimeout     = RelayConstants.DefaultOperationTimeout;
            this.proxy                = WebRequest.DefaultWebProxy;
            this.TrackingContext      = TrackingContext.Create(this.Address);
            this.connectionInputQueue = new InputQueue <HybridConnectionStream>();
            this.controlConnection    = new ControlConnection(this);
        }
Example #24
0
        /// <summary>
        /// Create a new HybridConnectionListener instance for accepting HybridConnections.
        /// </summary>
        /// <param name="address">The address on which to listen for HybridConnections.  This address should
        /// be of the format "sb://contoso.servicebus.windows.net/yourhybridconnection".</param>
        /// <param name="tokenProvider">The TokenProvider for connecting this listener to ServiceBus.</param>
        public HybridConnectionListener(Uri address, TokenProvider tokenProvider)
        {
            if (address == null || tokenProvider == null)
            {
                throw RelayEventSource.Log.ThrowingException(new ArgumentNullException(address == null ? nameof(address) : nameof(tokenProvider)), this);
            }
            else if (address.Scheme != RelayConstants.HybridConnectionScheme)
            {
                throw RelayEventSource.Log.ThrowingException(
                          new ArgumentException(SR.InvalidUriScheme.FormatInvariant(address.Scheme, RelayConstants.HybridConnectionScheme), nameof(address)), this);
            }

            this.Address              = address;
            this.TokenProvider        = tokenProvider;
            this.ConnectionBufferSize = DefaultConnectionBufferSize;
            this.OperationTimeout     = RelayConstants.DefaultOperationTimeout;
            this.proxy                     = DefaultWebProxy.Instance;
            this.TrackingContext           = TrackingContext.Create(this.Address);
            this.connectionInputQueue      = new InputQueue <HybridConnectionStream>();
            this.controlConnection         = new ControlConnection(this);
            this.useBuiltInClientWebSocket = HybridConnectionConstants.DefaultUseBuiltInClientWebSocket;
            this.ClientWebSocketFactory    = Microsoft.Azure.Relay.ClientWebSocketFactory.Default;
            this.KeepAliveInterval         = HybridConnectionConstants.KeepAliveInterval;
        }
Example #25
0
        public FtpCommand GetCommand(string command, ControlConnection connection, ILogger logger)
        {
            switch (command)
            {
            case FtpCommands.ActiveConnection: return(new ActiveCommand(connection));

            case FtpCommands.EnableEncryption: return(new AuthCommand(connection, logger));

            case FtpCommands.GoUp: return(new CdupCommand(connection, logger));

            case FtpCommands.ClientInfo: return(new ClntCommand(connection, logger));

            case FtpCommands.ChangeWorkingDirectory: return(new CwdCommand(connection, logger));

            case FtpCommands.DeleteFile: return(new DeleCommand(connection, logger));

            case FtpCommands.ExtendedPassiveConnection: return(new EpasvCommand(connection, logger));

            case FtpCommands.FeatureList: return(new FeatCommand(connection));

            case FtpCommands.DirectoryListing: return(new ListCommand(connection, logger));

            case FtpCommands.FileLastModifiedTime: return(new MdtmCommand(connection, logger));

            case FtpCommands.CreateDirectory: return(new MkdCommand(connection, logger));

            case FtpCommands.FileorDirectoryInfo: return(new MlstCommand(connection, logger));

            case FtpCommands.ExtendedDirectoryListing: return(new MlsdCommand(connection, logger));

            case FtpCommands.NameListing: return(new NlstCommand(connection, logger));

            case FtpCommands.KeepAlive: return(new NoopCommand(connection));

            case FtpCommands.Options: return(new OptsCommand(connection));

            case FtpCommands.UserPassword: return(new PassCommand(connection));

            case FtpCommands.PassiveConnection: return(new PasvCommand(connection));

            case FtpCommands.DataChannelBufferSize: return(new PbszCommand(connection));

            case FtpCommands.DataChannelProtection: return(new ProtCommand(connection));

            case FtpCommands.PrintDirectory: return(new PwdCommand(connection));

            case FtpCommands.Quit: return(new QuitCommand(connection));

            case FtpCommands.DownloadFile: return(new RetrCommand(connection, logger));

            case FtpCommands.RemoveDirectory: return(new RmdCommand(connection, logger));

            case FtpCommands.RenameFrom: return(new RnfrCommand(connection, logger));

            case FtpCommands.RenameTo: return(new RntoCommand(connection));

            case FtpCommands.SiteSpecific: return(new SiteCommand(connection, logger));

            case FtpCommands.Size: return(new SizeCommand(connection, logger));

            case FtpCommands.UploadFile: return(new StorCommand(connection, logger));

            case FtpCommands.SystemType: return(new SystCommand(connection));

            case FtpCommands.ChangeTransferType: return(new TypeCommand(connection));

            case FtpCommands.UserLogin: return(new UserCommand(connection, logger));

            default: return(new UnrecognizedCommand(connection));
            }
        }
Example #26
0
 public EpasvCommand(
     ControlConnection controlConnection,
     ILogger logger) : base(controlConnection)
 {
     this.logger = logger;
 }
Example #27
0
 public NoopCommand(
     ControlConnection controlConnection) : base(controlConnection)
 {
 }
 public void UpdatePeersInfoUsesAddressTranslator()
 {
     var invokedEndPoints = new List<IPEndPoint>();
     var translatorMock = new Mock<IAddressTranslator>(MockBehavior.Strict);
     translatorMock
         .Setup(t => t.Translate(It.IsAny<IPEndPoint>()))
         .Callback<IPEndPoint>(invokedEndPoints.Add)
         .Returns<IPEndPoint>(e => e);
     const int portNumber = 9999;
     var metadata = new Metadata(new Configuration());
     var config = new Configuration(new Policies(),
          new ProtocolOptions(portNumber),
          null,
          new SocketOptions(),
          new ClientOptions(),
          NoneAuthProvider.Instance,
          null,
          new QueryOptions(),
          translatorMock.Object);
     var cc = new ControlConnection(GetCluster(config), metadata);
     cc.Host = TestHelper.CreateHost("127.0.0.1");
     metadata.AddHost(cc.Host.Address);
     var hostAddress2 = IPAddress.Parse("127.0.0.2");
     var hostAddress3 = IPAddress.Parse("127.0.0.3");
     var rows = TestHelper.CreateRows(new List<Dictionary<string, object>>
     {
         new Dictionary<string, object>{{"rpc_address", hostAddress2}, {"peer", null}, { "data_center", "ut-dc2" }, { "rack", "ut-rack2" }, {"tokens", null}},
         new Dictionary<string, object>{{"rpc_address", IPAddress.Parse("0.0.0.0")}, {"peer", hostAddress3}, { "data_center", "ut-dc3" }, { "rack", "ut-rack3" }, {"tokens", null}}
     });
     cc.UpdatePeersInfo(rows);
     Assert.AreEqual(3, metadata.AllHosts().Count);
     Assert.AreEqual(2, invokedEndPoints.Count);
     Assert.AreEqual(hostAddress2, invokedEndPoints[0].Address);
     Assert.AreEqual(portNumber, invokedEndPoints[0].Port);
     Assert.AreEqual(hostAddress3, invokedEndPoints[1].Address);
     Assert.AreEqual(portNumber, invokedEndPoints[1].Port);
 }
Example #29
0
 public FeatCommand(
     ControlConnection controlConnection) : base(controlConnection)
 {
 }
Example #30
0
 public RntoCommand(
     ControlConnection controlConnection) : base(controlConnection)
 {
 }
Example #31
0
 public OptsCommand(
     ControlConnection controlConnection) : base(controlConnection)
 {
 }
Example #32
0
 public PbszCommand(ControlConnection controlConnection) : base(controlConnection)
 {
 }
Example #33
0
        // ForegroundConnectionContent


        private void ForegroundConnectionContentCommand_Executed()
        {
            NextTransition = TransitionType.LeftReplace;
            CurrentContent = new ControlConnection();
        }
Example #34
0
 public UnrecognizedCommand(
     ControlConnection controlConnection) : base(controlConnection)
 {
 }
Example #35
0
 public ActiveCommand(ControlConnection controlConnection) : base(controlConnection)
 {
 }
Example #36
0
 public MainForm()
 {
     InitializeComponent();
     broadcast         = new Broadcast();
     controlConnection = new ControlConnection();
 }