示例#1
0
        /// <summary>
        /// Initializes a new instance of <see cref="Node"/> using the given parameters.
        /// </summary>
        /// <param name="cs">Client settings</param>
        /// <param name="socket">Socket to use</param>
        internal Node(IClientSettings cs, Socket socket)
        {
            settings   = cs;
            NodeStatus = new NodeStatus();
            if (socket.RemoteEndPoint is IPEndPoint ep)
            {
                NodeStatus.IP   = ep.Address;
                NodeStatus.Port = (ushort)ep.Port;
            }

            var repMan = new ReplyManager(NodeStatus, cs);

            sendReceiveSAEA = cs.SendReceivePool.Pop();
            sendReceiveSAEA.AcceptSocket = socket;
            sendReceiveSAEA.UserToken    = new MessageManager(cs, repMan, NodeStatus);
            sendReceiveSAEA.Completed   += new EventHandler <SocketAsyncEventArgs>(IO_Completed);

            sendSAEA = cs.SendReceivePool.Pop();
            sendSAEA.AcceptSocket = socket;
            sendSAEA.UserToken    = new MessageManager(cs, repMan, NodeStatus);
            sendSAEA.Completed   += new EventHandler <SocketAsyncEventArgs>(IO_Completed);

            secondSendLimiter = new Semaphore(1, 1);

            pingTimer          = new System.Timers.Timer(TimeSpan.FromMinutes(1.1).TotalMilliseconds);
            pingTimer.Elapsed += PingTimer_Elapsed;
            pingTimer.Start();
        }
示例#2
0
        protected virtual ExitCode ChangeSetting(IClientSettings clientSettings, SettingsLocation location, ChangeType changeType)
        {
            // Don't want to save defaults for options that apply directly to this command
            List<string> settingsToSkip = new List<string>();
            settingsToSkip.AddRange(StandardOptions.List);
            settingsToSkip.AddRange(StandardOptions.Add);
            settingsToSkip.AddRange(StandardOptions.Remove);

            foreach (var setting in this.Arguments.Options)
            {
                if (settingsToSkip.Contains(setting.Key, StringComparer.OrdinalIgnoreCase)) { continue; }
                bool success = false;
                switch (changeType)
                {
                    case ChangeType.Add:
                        this.Loggers[LoggerType.Status].Write(XTaskStrings.DefaultsSavingProgress, setting.Key);
                        success = clientSettings.SaveSetting(location, setting.Key, setting.Value);
                        break;
                    case ChangeType.Remove:
                        this.Loggers[LoggerType.Status].Write(XTaskStrings.DefaultsRemovingProgress, setting.Key);
                        success = clientSettings.RemoveSetting(location, setting.Key);
                        break;
                }

                this.Loggers[LoggerType.Status].WriteLine(success ? XTaskStrings.Succeeded : XTaskStrings.Failed);
            }

            return ExitCode.Success;
        }
        /// <summary>
        /// Initializes a new instance of <see cref="Node"/> using the given parameters.
        /// </summary>
        /// <param name="bc">The blockchain (database) manager</param>
        /// <param name="cs">Client settings</param>
        internal Node(IBlockchain bc, IClientSettings cs)
        {
            // TODO: the following values are for testing, they should be set by the caller
            // they need more checks for correct and optimal values
            buffLen = 200;
            int bytesPerSaea         = buffLen;
            int sendReceiveSaeaCount = 10;
            int totalBytes           = bytesPerSaea * sendReceiveSaeaCount;

            buffMan    = new BufferManager(totalBytes, bytesPerSaea);
            NodeStatus = new NodeStatus();
            repMan     = new ReplyManager(NodeStatus, bc, cs);

            sendReceivePool = new SocketAsyncEventArgsPool(sendReceiveSaeaCount);
            for (int i = 0; i < sendReceiveSaeaCount; i++)
            {
                SocketAsyncEventArgs sArg = new SocketAsyncEventArgs();

                buffMan.SetBuffer(sArg);
                sArg.Completed += new EventHandler <SocketAsyncEventArgs>(IO_Completed);
                sArg.UserToken  = new MessageManager(bytesPerSaea, repMan, NodeStatus, cs.Network);

                sendReceivePool.Push(sArg);
            }
        }
示例#4
0
        protected virtual ExitCode ChangeSetting(IClientSettings clientSettings, SettingsLocation location, ChangeType changeType)
        {
            // Don't want to save defaults for options that apply directly to this command
            List <string> settingsToSkip = new List <string>();

            settingsToSkip.AddRange(StandardOptions.List);
            settingsToSkip.AddRange(StandardOptions.Add);
            settingsToSkip.AddRange(StandardOptions.Remove);

            foreach (var setting in this.Arguments.Options)
            {
                if (settingsToSkip.Contains(setting.Key, StringComparer.OrdinalIgnoreCase))
                {
                    continue;
                }
                bool success = false;
                switch (changeType)
                {
                case ChangeType.Add:
                    this.Loggers[LoggerType.Status].Write(XTaskStrings.DefaultsSavingProgress, setting.Key);
                    success = clientSettings.SaveSetting(location, setting.Key, setting.Value);
                    break;

                case ChangeType.Remove:
                    this.Loggers[LoggerType.Status].Write(XTaskStrings.DefaultsRemovingProgress, setting.Key);
                    success = clientSettings.RemoveSetting(location, setting.Key);
                    break;
                }

                this.Loggers[LoggerType.Status].WriteLine(success ? XTaskStrings.Succeeded : XTaskStrings.Failed);
            }

            return(ExitCode.Success);
        }
示例#5
0
        public FullTextureProcessor(IClientSettings settings, IContext context, string fragmentShaderText, string[] samplerNames)
        {
            var header = settings.IsEs ? EsHeader : DesktopHeader;
            var vertexShader = context.Create.VertexShader(header + VertexShaderText);

            var decodeFragmentShader = context.Create.FragmentShader(header + fragmentShaderText);
            program = context.Create.Program(new ShaderProgramDescription
            {
                VertexShaders = new[] { vertexShader },
                FragmentShaders = new[] { decodeFragmentShader },
                VertexAttributeNames = new[] { "in_position" },
                SamplerNames = samplerNames
            });

            var vertexBuffer = context.Create.Buffer(BufferTarget.ArrayBuffer, 4 * Vertex.Size, BufferUsageHint.StaticDraw, new[]
            {
                new Vertex(-1f, 1f),
                new Vertex(1f, 1f),
                new Vertex(1f, -1f),
                new Vertex(-1f, -1f)
            });

            var elementArrayBuffer = context.Create.Buffer(BufferTarget.ElementArrayBuffer, 6 * sizeof(ushort), BufferUsageHint.StaticDraw, new ushort[]
            {
                0, 1, 2, 0, 2, 3
            });

            vertexArray = context.Create.VertexArray();
            vertexArray.SetVertexAttributeF(0, vertexBuffer, VertexAttributeDimension.Two, VertexAttribPointerType.Float, false, Vertex.Size, 0);
            vertexArray.SetElementArrayBuffer(elementArrayBuffer);
        }
示例#6
0
        public void CheckVersionTest(MockNodeStatus ns, IClientSettings cs, IBlockchain bc, Message msg, Message[] expected)
        {
            var rep = new ReplyManager(ns, bc, cs)
            {
                rng = new MockNonceRng(0x0158a8e8ba5f3ed3)
            };

            Message[] actual = rep.GetReply(msg);

            if (expected is null)
            {
                Assert.Null(actual);
            }
            else
            {
                Assert.NotNull(actual);
                Assert.Equal(expected.Length, actual.Length);
                for (int i = 0; i < expected.Length; i++)
                {
                    var actualStream   = new FastStream(Constants.MessageHeaderSize + actual[i].PayloadData.Length);
                    var expectedStream = new FastStream(Constants.MessageHeaderSize + expected[i].PayloadData.Length);
                    actual[i].Serialize(actualStream);
                    expected[i].Serialize(expectedStream);

                    Assert.Equal(expectedStream.ToByteArray(), actualStream.ToByteArray());
                }
            }

            // Mock will change the following bool to false if it were called.
            Assert.False(ns.updateTime, "UpdateTime() was never called");

            // Mock either doesn't have any h.s. to set or if it did set h.s. it was checked and then turned to null
            Assert.Null(ns._handShakeToSet);
        }
示例#7
0
 private static IMessenger CreateClient(
     IClientSettings settings)
 {
     return(settings.Type switch {
         MessengerType.Telegram => new Telegram(settings),
         _ => throw new ArgumentException("Unknown messenger client tyepe")
     });
示例#8
0
 protected ArgumentSettingsProvider(string settingsSection, IArgumentProvider argumentProvider, IClientSettings clientSettings)
     : base()
 {
     this.settingsSection  = settingsSection;
     this.argumentProvider = argumentProvider;
     this.clientSettings   = clientSettings;
 }
 public void GetSettingHitsClientSettings()
 {
     IClientSettings settings = Substitute.For<IClientSettings>();
     TestArgumentSettingsProvider provider = new TestArgumentSettingsProvider("Section", null, settings);
     provider.GetSetting("Foo");
     settings.Received(1).GetSetting("Foo");
 }
示例#10
0
        protected virtual ExitCode ListSettings(IClientSettings clientSettings)
        {
            Table table = Table.Create(ColumnFormat.FromCount(2));

            table.HasHeader = true;
            table.AddRow(XTaskStrings.ConfigurationTypeColumn, XTaskStrings.ConfigurationLocationColumn);
            foreach (SettingsLocation location in new SettingsLocation[] { SettingsLocation.Local, SettingsLocation.Roaming, SettingsLocation.RunningExecutable })
            {
                table.AddRow(location.ToString(), clientSettings.GetConfigurationPath(location) ?? XTaskStrings.NoValue);
            }

            this.Loggers[LoggerType.Result].Write(table);
            this.Loggers[LoggerType.Result].WriteLine();

            List <ClientSetting> settings =
                (
                    from setting in clientSettings.GetAllSettings()
                    orderby setting.Name
                    orderby setting.Location
                    select setting
                ).ToList();

            this.Loggers[LoggerType.Result].WriteLine(XTaskStrings.DefaultsCount, settings.Count);
            table           = Table.Create(ColumnFormat.FromCount(3));
            table.HasHeader = true;
            table.AddRow(XTaskStrings.DefaultsSettingColumnHeader, XTaskStrings.DefaultsLocationColumnHeader, XTaskStrings.DefaultsValueColumnHeader);

            foreach (ClientSetting setting in settings)
            {
                table.AddRow(setting.Name, setting.Location.ToString(), setting.Value.ToString());
            }

            this.Loggers[LoggerType.Result].Write(table);
            return(ExitCode.Success);
        }
        public static XElement ToXElement(this IClientSettings settings, XName name)
        {
            XElement xml = new XElement(name,
                                        settings.WindowClientSize.ToXElement("WindowClientSize"),
                                        new XElement("UserName", settings.UserName),
                                        new XElement("Password", settings.Password),
                                        settings.SystemList.RemoveEmptyOrBlankItems().ToXElement("SystemList", "System"),
                                        new XElement("SystemName", settings.SystemName),
                                        new XElement("ScreenDefnPath", settings.ScreenDefnPath),
                                        new XElement("CaptureFolderPath", settings.CaptureFolderPath),
                                        new XElement("RunTimeCodePath", settings.RunTimeCodePath),
                                        new XElement("SupportCodeFilePath", settings.SupportCodeFilePath),
                                        new XElement("CaptureAuto", settings.CaptureAuto),
                                        new XElement("ParseText", settings.ParseText),
                                        new XElement("DataStreamName", settings.DataStreamName),
                                        settings.NamedDataStreamList.ToXElement("NamedDataStreamList"),
                                        new XElement("AutoConnect", settings.AutoConnect),
                                        new XElement("DeviceName", settings.DeviceName),
                                        settings.DeviceNameList.ToXElementNew("DeviceNameList"),
                                        new XElement("TerminalType", settings.TerminalType),
                                        new XElement("FontPointSize", settings.FontPointSize),
                                        new XElement("OdbcDsn", settings.OdbcDsn),
                                        new XElement("IpAddr", settings.IpAddr));

            return(xml);
        }
示例#12
0
 public static void EnsureUserAuthorized(this IClientSettings clientSession)
 {
     if (!clientSession.IsUserAuthorized())
     {
         throw new UserNotAuthorizeException();
     }
 }
示例#13
0
        protected virtual ExitCode ListSettings(IClientSettings clientSettings)
        {
            Table table = Table.Create(ColumnFormat.FromCount(2));
            table.HasHeader = true;
            table.AddRow(XTaskStrings.ConfigurationTypeColumn, XTaskStrings.ConfigurationLocationColumn);
            foreach (SettingsLocation location in new SettingsLocation[] { SettingsLocation.Local, SettingsLocation.Roaming, SettingsLocation.RunningExecutable })
            {
                table.AddRow(location.ToString(), clientSettings.GetConfigurationPath(location) ?? XTaskStrings.NoValue);
            }

            this.Loggers[LoggerType.Result].Write(table);
            this.Loggers[LoggerType.Result].WriteLine();

            List<ClientSetting> settings =
            (
                from setting in clientSettings.GetAllSettings()
                orderby setting.Name
                orderby setting.Location
                select setting
            ).ToList();

            this.Loggers[LoggerType.Result].WriteLine(XTaskStrings.DefaultsCount, settings.Count);
            table = Table.Create(ColumnFormat.FromCount(3));
            table.HasHeader = true;
            table.AddRow(XTaskStrings.DefaultsSettingColumnHeader, XTaskStrings.DefaultsLocationColumnHeader, XTaskStrings.DefaultsValueColumnHeader);

            foreach (ClientSetting setting in settings)
            {
                table.AddRow(setting.Name, setting.Location.ToString(), setting.Value.ToString());
            }

            this.Loggers[LoggerType.Result].Write(table);
            return ExitCode.Success;
        }
 public void RemoveSettingHitsClientSettings()
 {
     IClientSettings settings = Substitute.For<IClientSettings>();
     TestArgumentSettingsProvider provider = new TestArgumentSettingsProvider("Section", null, settings);
     provider.RemoveSetting(SettingsLocation.Local, "Foo");
     settings.Received(1).RemoveSetting(SettingsLocation.Local, "Foo");
 }
 protected ArgumentSettingsProvider(string settingsSection, IArgumentProvider argumentProvider, IClientSettings clientSettings)
     : base()
 {
     _settingsSection  = settingsSection;
     _argumentProvider = argumentProvider;
     _clientSettings   = clientSettings;
 }
 public void GetConfigurationPathHitsClientSettings()
 {
     IClientSettings settings = Substitute.For<IClientSettings>();
     TestArgumentSettingsProvider provider = new TestArgumentSettingsProvider("Section", null, settings);
     provider.GetConfigurationPath(SettingsLocation.Local);
     settings.Received(1).GetConfigurationPath(SettingsLocation.Local);
 }
示例#17
0
 public BrowseGroupViewModel(Group group, IGroupsClient groupsClient, IClientSettings clientSettings, INavigator navigator)
 {
     _group          = group;
     _groupsClient   = groupsClient;
     _clientSettings = clientSettings;
     _navigator      = navigator;
 }
示例#18
0
        public void GetReplyTest(MockNodeStatus ns, IClientSettings cs, IBlockchain bc, Message msg, Message[] expected)
        {
            var rep = new ReplyManager(ns, bc, cs);

            Message[] actual = rep.GetReply(msg);

            if (expected is null)
            {
                Assert.Null(actual);
            }
            else
            {
                Assert.NotNull(actual);
                Assert.Equal(expected.Length, actual.Length);
                for (int i = 0; i < expected.Length; i++)
                {
                    var actualStream   = new FastStream(Constants.MessageHeaderSize + actual[i].PayloadData.Length);
                    var expectedStream = new FastStream(Constants.MessageHeaderSize + expected[i].PayloadData.Length);
                    actual[i].Serialize(actualStream);
                    expected[i].Serialize(expectedStream);

                    Assert.Equal(expectedStream.ToByteArray(), actualStream.ToByteArray());
                }
            }

            // Mock will change the following bools to false if it were called.
            Assert.False(ns.updateTime, "UpdateTime() was never called");
            Assert.False(ns.smallViolation, "AddSmallViolation() was never called");
            Assert.False(ns.mediumViolation, "AddMediumViolation() was never called");
            Assert.False(ns.bigViolation, "AddBigViolation() was never called");
        }
示例#19
0
        /// <summary>
        /// Initializes a new instance of <see cref="MessageManager"/> using the given parameters.
        /// </summary>
        /// <exception cref="ArgumentException"/>
        /// <exception cref="ArgumentOutOfRangeException"/>
        /// <param name="cs">Client settings</param>
        /// <param name="repMan">A reply manager to create appropriate response to a given message</param>
        /// <param name="ns">Node status</param>
        public MessageManager(IClientSettings cs, IReplyManager repMan, INodeStatus ns)
        {
            if (cs is null)
            {
                throw new ArgumentNullException(nameof(cs), "Client settings can not be null.");
            }
            if (repMan is null)
            {
                throw new ArgumentNullException(nameof(repMan), "Reply manager can not be null.");
            }
            if (ns is null)
            {
                throw new ArgumentNullException(nameof(ns), "Node status can not be null.");
            }

            netType    = cs.Network;
            magicBytes = netType switch
            {
                NetworkType.MainNet => Base16.Decode(Constants.MainNetMagic),
                NetworkType.TestNet => Base16.Decode(Constants.TestNetMagic),
                NetworkType.RegTest => Base16.Decode(Constants.RegTestMagic),
                _ => throw new ArgumentException(Err.InvalidNetwork)
            };

            replyManager = repMan;
            NodeStatus   = ns;

            buffLen            = cs.BufferLength;
            toSendQueue        = new Queue <Message>();
            IsReceiveCompleted = true;
        }
        public JsonWebClient(IClientSettings settings, IRequestOptions defaultOptions = null)
        {
            if (settings == null)
            {
                throw new ArgumentNullException("settings");
            }

            this.settings         = settings;
            DefaultRequestOptions = defaultOptions ?? new RequestOptions();
            logger = LogManager.GetCurrentClassLogger();

            // call something on this object so it gets initialized in single threaded context
            HttpEncoder.Default.SerializeToString();

            //need to add the following call for Mono -- https://bugzilla.xamarin.com/show_bug.cgi?id=12565
            if (Helpers.IsRunningOnMono())
            {
                HttpEncoder.Current = HttpEncoder.Default;
            }

            HttpEncoder.Current.SerializeToString();

            client = new JsonServiceClient(settings.BaseSpaceApiUrl);
            client.LocalHttpWebRequestFilter += WebRequestFilter;

            if (settings.TimeoutMin > 0)
            {
                client.Timeout = TimeSpan.FromMinutes(settings.TimeoutMin);
            }

            clientBilling = new JsonServiceClient(settings.BaseSpaceBillingApiUrl);
            clientBilling.LocalHttpWebRequestFilter += WebRequestFilter;
        }
示例#21
0
 protected void InitializeSettings(IClientSettings settings)
 {
     NumberOfParallelJobs = settings.NumberOfParallelJobs;
     if (settings.AutoStart)
     {
         StartProcessing();
     }
 }
示例#22
0
 public GpuMipCalculator(IPclWorkarounds pclWorkarounds, IClientSettings settings, IContext context)
 {
     this.pclWorkarounds = pclWorkarounds;
     fullTextureProcessor = new FullTextureProcessor(settings, context, FragmentShaderText, new[] { "Source" });
     framebuffer = context.Create.Framebuffer();
     mipInfoBuffer = context.Create.Buffer(BufferTarget.UniformBuffer, 16, BufferUsageHint.DynamicDraw);
     sampler = context.Create.Sampler();
 }
示例#23
0
 private static ElasticClient CreateElasticClient(IClientSettings settings)
 {
     var uris = settings.ConnectionPool.Select(a => new Uri(a));
     var connectionPool = new SniffingConnectionPool(uris);
     var connectionSettings = new ConnectionSettings(connectionPool,settings.DefaultIndex);
     if(settings.Authorization != null) connectionSettings.SetBasicAuthentication(settings.Authorization.Username, settings.Authorization.Password);
     return new ElasticClient(connectionSettings);
 }
示例#24
0
 IBeepPlayer BuildBeepPlayer(IClientSettings settings)
 {
     if (settings.FakeMedia)
     {
         //Console.WriteLine("Using FakeMediaClient");
         return(new SilentBeepPlayer());
     }
     return(new BeepPlayer(new AlsaAudioPlayer(false)));
 }
示例#25
0
        public void UpdateSessionConfiguration(IClientSettings settings, ILogicSettings logicSettings)
        {
            ApiFailureStrategy apiFailureStrategy = new ApiFailureStrategy(this);

            Client = new Client(ClientSettings, apiFailureStrategy);

            Inventory  = new Inventory(Client, logicSettings);
            Navigation = new Navigation(Client, logicSettings);
        }
示例#26
0
        public void Init(IRenderer renderer, IClientSettings clientSettings)
        {
            Renderer       = (WebRenderer)renderer;
            ClientSettings = clientSettings;
            ScreenManager  = new WebScreenManager(Renderer, this);
            Game.InitScreens(renderer, ScreenManager);

            SocketManager = new WebSocketManager();
            Game.InitSocketManager(SocketManager);
        }
示例#27
0
 public BaseSpaceClient(IClientSettings settings, IWebClient client, IRequestOptions defaultOptions = null)
 {
     if (settings == null || client == null)
     {
         throw new ArgumentNullException("settings");
     }
     ClientSettings = settings;
     WebClient      = client;
     SetDefaultRequestOptions(defaultOptions);
 }
示例#28
0
        public BaseSpaceClient(IClientSettings settings, IRequestOptions defaultOptions = null)
        {
            if (settings == null)
            {
                throw new ArgumentNullException("settings");
            }

            Settings  = settings;
            WebClient = new JsonWebClient(settings, defaultOptions);
        }
 public DownloadFileCommand(BaseSpaceClient client, FileCompact file, Stream stream, IClientSettings settings, CancellationToken token = new CancellationToken())
 {
     _client = client;
     _settings = settings;
     _stream = stream;
     _file = file;
     Token = token;
     ChunkSize = Convert.ToInt32(_settings.FileMultipartSizeThreshold);
     MaxRetries = Convert.ToInt32(_settings.RetryAttempts);
 }
 public DownloadFileCommand(BaseSpaceClient client, string fileId, Stream stream, IClientSettings settings, CancellationToken token = new CancellationToken())
 {
     _client = client;
     _settings = settings;
     _stream = stream;
     _file = _client.GetFilesInformation(new GetFileInformationRequest(fileId), null).Response;
     Token = token;
     ChunkSize = Convert.ToInt32(_settings.FileMultipartSizeThreshold);
     MaxRetries = Convert.ToInt32(_settings.RetryAttempts);
 }
示例#31
0
 public RectangleToolsDependencyMapper()
 {
     clientSettings        = new ClientSettings();
     rectangleController   = GetRectangleUiController();
     rectangleCongigButton = new RectangleConfigButton();
     userInterfaceEvents   = new UserInterfaceEventsLib(StandardAddInServer.InventorApplication);
     userInterfaceEvents.OnResetRibbonInterfaceDelegate             += UserInterfaceEvents_OnResetRibbonInterface;
     userInterfaceEvents.UserInterfaceEvents.OnResetRibbonInterface += userInterfaceEvents
                                                                       .OnResetRibbonInterfaceDelegate;
 }
 public BaseSpaceClient(IClientSettings settings, IWebClient client, IRequestOptions defaultOptions = null)
 {
     if (settings == null || client == null)
     {
         throw new ArgumentNullException("settings");
     }
     ClientSettings = settings;
     WebClient = client;
     SetDefaultRequestOptions(defaultOptions);
 }
示例#33
0
文件: GLView1.cs 项目: Zulkir/RAVC
        public GLView1(Context context, IClientSettings settings)
            : base(context)
        {
            this.settings = settings;

            gl = new AndroidGL();
            nativeGraphicsContext = new GameViewContext(this);
            assetManager = context.Assets;
            KeepScreenOn = true;
        }
 public RectangleToolsDependencyMapper()
 {
     clientSettings = new ClientSettings();
     rectangleController = GetRectangleUiController();
     rectangleCongigButton = new RectangleConfigButton();
     userInterfaceEvents = new UserInterfaceEventsLib(StandardAddInServer.InventorApplication);
     userInterfaceEvents.OnResetRibbonInterfaceDelegate += UserInterfaceEvents_OnResetRibbonInterface;
     userInterfaceEvents.UserInterfaceEvents.OnResetRibbonInterface += userInterfaceEvents
                                                                       .OnResetRibbonInterfaceDelegate;
 }
        public void GetArgumentGetsDefaultSetting()
        {
            IClientSettings settings = Substitute.For<IClientSettings>();
            IArgumentProvider arguments = Substitute.For<IArgumentProvider>();
            settings.GetSetting("Foo").Returns("Bar");

            TestArgumentSettingsProvider provider = new TestArgumentSettingsProvider("Section", arguments, settings);
            IArgumentProvider castArguments = (IArgumentProvider)provider;
            castArguments.GetOption<string>("Foo").Should().Be("Bar");
        }
        public BaseSpaceClient(IClientSettings settings, IRequestOptions defaultOptions = null)
        {
            if (settings == null)
            {
                throw new ArgumentNullException("settings");
            }

            Settings = settings;
            WebClient = new JsonWebClient(settings, defaultOptions);
        }
        public DownloadFileCommand(BaseSpaceClient client, FileCompact file, string targetFileName,
                                   IClientSettings settings, CancellationToken token = new CancellationToken(), bool enableLogging = true, int threadCount = DEFAULT_THREADS)
        {
            DateTime expiration;
            string   url = GetFileContentUrl(client, file.Id, out expiration);
            ILargeFileDownloadParameters parameters = new LargeFileDownloadParameters(new Uri(url), targetFileName, maxThreads: threadCount, maxChunkSize: (int?)settings.FileDownloadMultipartSizeThreshold, id: file.Id);

            _parameters    = parameters;
            _token         = token;
            _enableLogging = enableLogging;
        }
示例#38
0
 public void Merge(IClientSettings settingsToMergeIn)
 {
     this.ApiKey                 = settingsToMergeIn.ApiKey?.Trim();
     this.EQFolder               = settingsToMergeIn.EQFolder?.Trim();
     this.IgnoreList             = settingsToMergeIn.IgnoreList?.Trim();
     this.MinimizeToTray         = settingsToMergeIn.MinimizeToTray;
     this.EnableToasts           = settingsToMergeIn.EnableToasts;
     this.ToastDisplayForSeconds = settingsToMergeIn.ToastDisplayForSeconds;
     this.StartWithWindows       = settingsToMergeIn.StartWithWindows;
     this.TrackStateInSystemTray = settingsToMergeIn.TrackStateInSystemTray;
 }
示例#39
0
 public Telegram(IClientSettings settings)
 {
     if (settings is TelegramSettings telegramSettings)
     {
         _settings = telegramSettings;
     }
     else
     {
         throw new ArgumentException("Wrong settings type for telegram");
     }
 }
示例#40
0
        public TcpStreamReceiver(IPclWorkarounds pclWorkarounds, IClientSettings settings, ByteArrayPool byteArrayPool)
        {
            this.byteArrayPool = byteArrayPool;
            primaryHostname = settings.PrimaryTcpHostName;
            secondaryHostname = settings.SecondaryTcpHostName;
            port = settings.TcpPort;
            tcpClient = pclWorkarounds.CreateTcpClient();
            metaDataBuffer = new byte[4];

            tcpClient.NoDelay = true;
        }
示例#41
0
        public XnaClient(BaseGame game, IClientSettings clientSettings, IUserPreferences userPreferences, ContentManager contentManager) : base(game, clientSettings, userPreferences)
        {
            preSound     = XnaMediaPlayer.Volume;
            SoundEnabled =
#if Mute
                false
#else
                true
#endif
            ;
            ContentManager = contentManager;
            Game.Client    = this;
        }
示例#42
0
 public IdentitiyService(
     HttpClient httpClient,
     IHttpContextAccessor httpContextAccessor,
     IMapper mapper,
     ILogger <IdentitiyService> logger,
     IClientSettings clientSettings)
 {
     client = httpClient;
     this.httpContextAccessor = httpContextAccessor;
     this.mapper         = mapper;
     this.logger         = logger;
     this.clientSettings = clientSettings;
 }
示例#43
0
文件: MainLoop.cs 项目: Zulkir/RAVC
 public MainLoop(IPclWorkarounds pclWorkarounds, IClientStatistics statistics, IClientSettings settings, IContext context, IRavcGameWindow gameWindow, IMainThreadBorderStage mainThreadBorderStage, IFinalFrameProvider finalFrameProvider, IClientStatisticsRenderer statisticsRenderer, ITextureLoader textureLoader)
 {
     this.settings = settings;
     this.context = context;
     this.statistics = statistics;
     this.gameWindow = gameWindow;
     this.mainThreadBorderStage = mainThreadBorderStage;
     this.finalFrameProvider = finalFrameProvider;
     this.statisticsRenderer = statisticsRenderer;
     finalRenderer = new FinalRenderer(pclWorkarounds, settings, context);
     cursorRenderer = new CursorRenderer(settings, context, textureLoader);
     stopwatch = new Stopwatch();
 }
示例#44
0
文件: GLActivity.cs 项目: Zulkir/RAVC
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            var hostName = Intent.GetStringExtra("HostName");
            var port = Intent.GetIntExtra("Port", -1);
            var bufferingOffset = Intent.GetDoubleExtra("BufferingOffset", 0.0);
            var showDebugInfo = Intent.GetBooleanExtra("ShowDebugInfo", false);

            settings = new ClientSettings(hostName, port, bufferingOffset, showDebugInfo);

            if (SupportedOpenGLVersion() < 3)
                throw new NotSupportedException("OpenGL ES 3.0 support is required");

            view = new GLView1(this, settings);
            SetContentView(view);
        }
 public BaseSpaceClient(IClientSettings settings, IRequestOptions defaultOptions = null)
     : this(settings, new JsonWebClient(settings), defaultOptions)
 {
 }
 public TestArgumentSettingsProvider(string settingsSection, IArgumentProvider argumentProvider, IClientSettings clientSettings)
     : base (settingsSection, argumentProvider, clientSettings)
 {
 }
 public void Setup(IClientSettings settings)
 {
     this.DataContext = settings.Clone();
 }
 public ClientDialogAdapter()
 {
     rectangleButtonConfigDialog = new RectangleButtonLayoutDialog(this);
     clientSettings = new ClientSettings();
 }
示例#49
0
 public Client(IClientSettings settings)
 {
     ElasticClient = CreateElasticClient(settings);
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="ClientController" /> class.
        /// </summary>
        /// <param name="clientSettings">The client settings.</param>
        /// <param name="globalSettings">The global settings.</param>
        /// <param name="balloonController">The balloon controller.</param>
        /// <param name="logger">The logger.</param>
        /// <param name="dataDispatcher">The data dispatcher.</param>
        /// <param name="viewResolver">The view resolver.</param>
        /// <exception cref="ArgumentNullException">
        /// </exception>
        /// <exception cref="System.ArgumentNullException"></exception>
        public ClientController(IClientSettings clientSettings, IGlobalSettings globalSettings, IBalloonController balloonController, ILog logger, IDataDispatcher dataDispatcher, IViewResolver viewResolver)
        {
            if (clientSettings == null) throw new ArgumentNullException(nameof(clientSettings));
            if (globalSettings == null) throw new ArgumentNullException(nameof(globalSettings));
            if (balloonController == null) throw new ArgumentNullException(nameof(balloonController));
            if (logger == null) throw new ArgumentNullException(nameof(logger));
            if (dataDispatcher == null) throw new ArgumentNullException(nameof(dataDispatcher));
            if (viewResolver == null) throw new ArgumentNullException(nameof(viewResolver));

            _balloonController = balloonController;
            _clientSettings = clientSettings;
            _globalSettings = globalSettings;
            _viewResolver = viewResolver;
            _logger = logger;
            _dataDispatcher = dataDispatcher;
            
            //setup the view model for the notification window (sys tray)
            _notificationModel = new NotifyIconViewModel();
            _notificationModel.ExitApplication += this.MainWindow_CloseExplicit;
            _notificationModel.ShowAuctionTracker += this.NotificationView_ShowAuctionTracker;

            //wire up the dispatcher
            _dataDispatcher.MessageReceived += this.MessageMonitor_MessageReceived;
            _dataDispatcher.StatusChanged += this.DataDispatcher_StatusChanged;

            //Primary window view model
            _trackerWindowModel = new MainWindowViewModel();

            //status message switcher
            _uiMessageQueue = new UiMessageQueue(500);
            _uiMessageQueue.ActiveItemChanged += this.UiMessageQueue_ActiveItemChanged;
        }
示例#51
0
 public GpuFinalDecoder(IPclWorkarounds pclWorkarounds, IClientSettings settings, IContext context)
 {
     this.pclWorkarounds = pclWorkarounds;
     fullTextureProcessor = new FullTextureProcessor(settings, context, FragmentShaderText, new[] { "DiffTexture", "PrevTextureDetailed", "PrevTextureMip" });
     framebuffer = context.Create.Framebuffer();
     mipInfoBuffer = context.Create.Buffer(BufferTarget.UniformBuffer, 16, BufferUsageHint.DynamicDraw);
     sampler = context.Create.Sampler();
 }
示例#52
0
        public CursorRenderer(IClientSettings settings, IContext context, ITextureLoader textureLoader)
        {
            var header = settings.IsEs ? EsHeader : DesktopHeader;
            var vertexShader = context.Create.VertexShader(header + VertexShaderText);
            var fragmentShader = context.Create.FragmentShader(header + FragmentShaderText);
            program = context.Create.Program(new ShaderProgramDescription
            {
                VertexShaders = new[] { vertexShader },
                FragmentShaders = new[] { fragmentShader },
                VertexAttributeNames = new[] { "in_position", "in_tex_coord" },
                SamplerNames = new[] { "DiffTexture" }
            });

            var vertexBuffer = context.Create.Buffer(BufferTarget.ArrayBuffer, 4 * Vertex.Size, BufferUsageHint.StaticDraw, new[]
            {
                new Vertex(-1f, 1f, 0f, 0f),
                new Vertex(1f, 1f, 1f, 0f),
                new Vertex(1f, -1f, 1f, 1f),
                new Vertex(-1f, -1f, 0f, 1f)
            });

            var indexBuffer = context.Create.Buffer(BufferTarget.ElementArrayBuffer, 6 * sizeof(ushort), BufferUsageHint.StaticDraw, new ushort[]
            {
                0, 1, 2, 0, 2, 3
            });

            vertexArray = context.Create.VertexArray();
            vertexArray.SetVertexAttributeF(0, vertexBuffer, VertexAttributeDimension.Two, VertexAttribPointerType.Float, false, Vertex.Size, 0);
            vertexArray.SetVertexAttributeF(1, vertexBuffer, VertexAttributeDimension.Two, VertexAttribPointerType.Float, false, Vertex.Size, 2 * sizeof(float));
            vertexArray.SetElementArrayBuffer(indexBuffer);

            texture = textureLoader.LoadTexture(context, "Cursor.png");
            sampler = context.Create.Sampler();
            sampler.SetMagFilter(TextureMagFilter.Nearest);
        }
 public void Merge(IClientSettings settingsToMergeIn)
 {
     this.ApiKey = settingsToMergeIn.ApiKey?.Trim();
     this.EQFolder = settingsToMergeIn.EQFolder?.Trim();
     this.IgnoreList = settingsToMergeIn.IgnoreList?.Trim();
     this.MinimizeToTray = settingsToMergeIn.MinimizeToTray;
     this.EnableToasts = settingsToMergeIn.EnableToasts;
     this.ToastDisplayForSeconds = settingsToMergeIn.ToastDisplayForSeconds;
     this.StartWithWindows = settingsToMergeIn.StartWithWindows;
     this.TrackStateInSystemTray = settingsToMergeIn.TrackStateInSystemTray;
 }