Beispiel #1
0
        public NetworkResponseFuture SendRequestWaitable([NotNull] TimedObject <NetworkRequest> request)
        {
            NetworkResponseFuture future = new NetworkResponseFuture();

            request.obj.AddResponseListener(future);

            SendRequest(request);

            return(future);
        }
Beispiel #2
0
        public static NetworkResponse WaitOnRequest([NotNull] NetworkResponseFuture requestWaitable, TimeSpan?timeout = null)
        {
            try
            {
                if (timeout.HasValue)
                {
                    requestWaitable.Task.Wait(timeout.Value);
                }
                else
                {
                    requestWaitable.Task.Wait();
                }

                return(requestWaitable.Task.IsCompleted ? requestWaitable.Task.Result : null);
            }
            catch (Exception)
            {
                return(null);
            }
        }
Beispiel #3
0
 public NetworkResponse WaitOnRequest([NotNull] NetworkResponseFuture requestWaitable, long timeout, TimeUnit timeoutUnit)
 {
     return(WaitOnRequest(requestWaitable, TimeUtils.TimeUnitToTimeSpan(timeout, timeoutUnit)));
 }