コード例 #1
0
        public DfsService(IBitSwapApi bitSwapApi,
                          BitSwapService bitSwapService,
                          IBlockApi blockApi,
                          IBlockRepositoryApi blockRepositoryApi,
                          IBootstrapApi bootstrapApi,
                          IConfigApi configApi,
                          IDagApi dagApi,
                          IDhtApi dhtApi,
                          IDnsApi dnsApi,
                          KatDhtService dhtService,
                          IUnixFsApi unixFsApi,
                          IKeyApi keyApi,
                          INameApi nameApi,
                          IObjectApi objectApi,
                          IPinApi pinApi,
                          Ping1 pingService,
                          IPubSubApi pubSubApi,
                          PubSubService pubSubService,
                          IStatsApi statsApi,
                          ISwarmApi swarmApi,
                          SwarmService swarmService,
                          DfsOptions dfsOptions,
                          IHashProvider hashProvider,
                          DfsState dfsState,
                          IPasswordManager passwordManager,
                          IMigrationManager migrationManager,
                          Peer localPeer)
        {
            BitSwapApi         = bitSwapApi;
            BitSwapService     = bitSwapService;
            BlockApi           = blockApi;
            BlockRepositoryApi = blockRepositoryApi;
            BootstrapApi       = bootstrapApi;
            ConfigApi          = configApi;
            DagApi             = dagApi;
            DhtApi             = dhtApi;
            DhtService         = dhtService;
            UnixFsApi          = unixFsApi;
            KeyApi             = keyApi;
            NameApi            = nameApi;
            ObjectApi          = objectApi;
            PinApi             = pinApi;
            PingService        = pingService;
            PubSubApi          = pubSubApi;
            PubSubService      = pubSubService;
            StatsApi           = statsApi;
            SwarmApi           = swarmApi;
            SwarmService       = swarmService;
            Options            = dfsOptions;
            _hashProvider      = hashProvider;
            _dfsState          = dfsState;
            DnsApi             = dnsApi;
            MigrationManager   = migrationManager;
            LocalPeer          = localPeer;

            InitAsync().Wait();
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: vasili8m/DnsLibs
        public static void Main(string[] args)
        {
            string redirectorAppExecutablePath = Path.Combine(
                AppDomain.CurrentDomain.BaseDirectory,
                REDIRECTOR_EXECUTABLE_RELATIVE_PATH);
            bool isRedirectorExist = File.Exists(redirectorAppExecutablePath);

            try
            {
                m_LogProvider = new ColoredConsoleLogProvider();
                LogProvider.SetCurrentLogProvider(m_LogProvider);

#if LOG_TO_FILE
                ConsoleToFileRedirector.Start("Logs");
#endif
                m_DnsApi = DnsApi.Instance;
                m_DnsApi.InitLogger(LogLevel.Debug);
                DnsProxySettings dnsProxySettings = CreateDnsProxySettings();
                IDnsProxyServerCallbackConfiguration dnsProxyServerCallbackConfiguration =
                    new DnsProxyServerCallbackConfiguration();

                int dnsProxyProcessId = Process.GetCurrentProcess().Id;
                if (isRedirectorExist)
                {
                    m_CoreProcess =
                        WindowsTools.CreateProcess(
                            redirectorAppExecutablePath,
                            string.Format("{0} {1}", dnsProxyProcessId, DNS_PROXY_PORT),
                            true);
                    m_CoreProcess.Start();
                }

                m_DnsApi.StartDnsFiltering(new DnsApiConfiguration
                {
                    IsEnabled        = true,
                    DnsProxySettings = dnsProxySettings,
                    DnsProxyServerCallbackConfiguration = dnsProxyServerCallbackConfiguration
                });

                Console.ReadLine();
            }
            finally
            {
                m_DnsApi.StopDnsFiltering();
                if (isRedirectorExist && m_CoreProcess != null)
                {
                    m_CoreProcess.StandardInput.WriteLine("Switching off the core sample app...");
                    m_CoreProcess.Kill();
#if UNINSTALL_REDIRECT_DRIVER
                    UninstallRedirectDriver();
#endif
                }

                ConsoleToFileRedirector.Stop();
            }
        }
コード例 #3
0
ファイル: NameApi.cs プロジェクト: jakubbober/Catalyst
 public NameApi(IDnsApi dnsApi, IObjectApi objectApi)
 {
     _dnsApi    = dnsApi;
     _objectApi = objectApi;
 }