public static async Task <IClient> New(FConfig config, ClientInfo info) { var tcpClient = new TcpClient(); await tcpClient.ConnectAsync(info.ServerName, info.Port); return(new FClient(config, info, tcpClient)); }
private Logger(FConfig config) { _path = config.Server.LogFileName; _que = new BlockingCollection <Msg>(); _thr = new Thread(mainLoop); _thr.Start(); }
public FServer(ILogger log, FConfig config, IUsersDal usersDal = null) { var tcpAcceptor = TcpAcceptor.New(config, log, this); var users = usersDal ?? UsersDal.New(log, config); _log = log; _config = config; _tcpAcceptor = tcpAcceptor; _users = users; }
private static void ensureUsersTable(FConfig config, SqliteConnection sqlite) { var makeCmd = sqlite.CreateCommand(); makeCmd.CommandText = $@" CREATE TABLE IF NOT EXISTS {config.Sqlite.UsersName}( username TEXT NOT NULL COLLATE NOCASE PRIMARY KEY, password TEXT NOT NULL, folder TEXT NOT NULL )"; makeCmd.ExecuteNonQuery(); }
private UsersDal(ILogger log, FConfig config) { var csb = new SqliteConnectionStringBuilder { DataSource = $"./{config.Sqlite.DbName}" }; var sqlite = new SqliteConnection(csb.ConnectionString); sqlite.Open(); ensureUsersTable(config, sqlite); log.Info("sqlite", $"'{config.Sqlite.DbName}' is connected to"); _log = log; _sqlite = sqlite; _tableName = config.Sqlite.UsersName; }
private TcpAcceptor(FConfig config, ILogger log, IServer server) { FAILED_TO_ACCEPT_TCP_RETRY_TIMEOUT = config.Server.FAILED_TO_ACCEPT_TCP_RETRY_MILLISECONDS; TcpListener listener; try { listener = new TcpListener(IPAddress.Any, config.TcpPort); listener.Start(); } catch (Exception ex) { log.Error("tcp.acceptor", ex); throw; } _config = config; _log = log; _server = server; _listener = listener; Task.Run(() => acceptConnections()); }
private FClient(FConfig config, ClientInfo info, TcpClient tcpClient) { _config = config; _info = info; _tcpClient = tcpClient; }
public static ILogger New(FConfig config) { return (new Logger(config)); }
public MyClient(FConfig config) { _config = config; _needsPingPongSpan = TimeSpan.FromSeconds(config.Client.NeedsPingPongSeconds); }
public static IUsersDal New(ILogger log, FConfig config) { return (new UsersDal(log, config)); }
public static ITcpAcceptor New(FConfig config, ILogger log, IServer server) { return(new TcpAcceptor(config, log, server)); }