예제 #1
0
 public void add(ProxyOutgoingAsyncBase outAsync, int interval)
 {
     lock(this)
     {
         if(_instance == null)
         {
             throw new Ice.CommunicatorDestroyedException();
         }
         RetryTask task = new RetryTask(this, outAsync);
         outAsync.cancelable(task); // This will throw if the request is canceled.
         _instance.timer().schedule(task, interval);
         _requests.Add(task, null);
     }
 }
예제 #2
0
        public bool sendAsyncRequest(ProxyOutgoingAsyncBase outAsync, out Ice.AsyncCallback sentCallback)
        {
            lock(this)
            {
                if(!_initialized)
                {
                    outAsync.cancelable(this); // This will throw if the request is canceled
                }

                if(!initialized())
                {
                    _requests.AddLast(outAsync);
                    sentCallback = null;
                    return false;
                }
            }
            return outAsync.invokeRemote(_connection, _compress, _response, out sentCallback);
        }
예제 #3
0
 public bool sendAsyncRequest(ProxyOutgoingAsyncBase outAsync, out Ice.AsyncCallback sentCallback)
 {
     return outAsync.invokeRemote(_connection, _compress, _response, out sentCallback);
 }
예제 #4
0
 public bool sendAsyncRequest(ProxyOutgoingAsyncBase outAsync, out Ice.AsyncCallback sentCallback)
 {
     return outAsync.invokeCollocated(this, out sentCallback);
 }
예제 #5
0
        public int sendAsyncRequest(ProxyOutgoingAsyncBase outAsync)
        {
            lock(this)
            {
                if(!_initialized)
                {
                    outAsync.cancelable(this); // This will throw if the request is canceled
                }

                if(!initialized())
                {
                    _requests.AddLast(outAsync);
                    return OutgoingAsyncBase.AsyncStatusQueued;
                }
            }
            return outAsync.invokeRemote(_connection, _compress, _response);
        }
예제 #6
0
 public int sendAsyncRequest(ProxyOutgoingAsyncBase outAsync)
 {
     return outAsync.invokeRemote(_connection, _compress, _response);
 }
예제 #7
0
 public RetryTask(RetryQueue retryQueue, ProxyOutgoingAsyncBase outAsync)
 {
     _retryQueue = retryQueue;
     _outAsync = outAsync;
 }
예제 #8
0
 public int sendAsyncRequest(ProxyOutgoingAsyncBase outAsync)
 {
     return outAsync.invokeCollocated(this);
 }
예제 #9
0
파일: RetryQueue.cs 프로젝트: joshmoore/ice
 public RetryTask(Instance instance, RetryQueue retryQueue, ProxyOutgoingAsyncBase outAsync)
 {
     _instance = instance;
     _retryQueue = retryQueue;
     _outAsync = outAsync;
 }
예제 #10
0
 public int sendAsyncRequest(ProxyOutgoingAsyncBase outAsync)
 {
     return(outAsync.invokeRemote(_connection, _compress, _response));
 }