예제 #1
0
        public (bool broadcastStatus, PushResponse response) BroadcastMessage(PushRequestContent broadcastValue)
        {
            if (!Core.IsNetworkAvailable)
            {
                Logger.Log("No internet connection available. cannot connect to PushBullet API.", LogLevels.Error);
                return(false, null);
            }

            if (!IsBroadcastServiceOnline)
            {
                return(false, null);
            }

            if (PreviousBroadcastMessage.Equals(broadcastValue))
            {
                return(false, null);
            }

            if (broadcastValue == null)
            {
                Logger.Log("Cannot broadcast as the required values are empty.", LogLevels.Warn);
                return(false, null);
            }

            PreviousBroadcastMessage = broadcastValue;
            PushResponse pushResponse;

            try {
                pushResponse = BulletClient.SendPush(broadcastValue);
            }
            catch (ParameterValueIsNullException) {
                Logger.Log("Parameter value is null.", LogLevels.Warn);
                return(false, null);
            }
            catch (ResponseIsNullException) {
                Logger.Log("The api response is null", LogLevels.Warn);
                return(false, null);
            }
            catch (RequestFailedException) {
                Logger.Log("Request to the api failed", LogLevels.Warn);
                return(false, null);
            }
            catch (NullReferenceException) {
                return(false, null);
            }

            return(true, pushResponse);
        }
예제 #2
0
        public void GetAsyncForOneSecondTest()
        {
            var url = "http://localhost:5000/";

            BulletClient client   = new BulletClient(url);
            var          duration = TimeSpan.FromSeconds(1);
            var          sw       = Stopwatch.StartNew();

            int index = 1;

            while (duration.TotalMilliseconds > sw.Elapsed.TotalMilliseconds)
            {
                client.Get();

                index++;
            }
        }