示例#1
0
        public void flushConnection(Ice.ConnectionI con)
        {
            lock (this)
            {
                ++_useCount;
            }

            try
            {
                Ice.AsyncCallback sentCB = null;
                FlushBatch        flush  = new FlushBatch(this);
                int batchRequestNum      = con.getBatchRequestQueue().swap(flush.getOs());
                if (batchRequestNum == 0)
                {
                    flush.sent();
                }
                else
                {
                    con.sendAsyncRequest(flush, false, false, batchRequestNum, out sentCB);
                }
                Debug.Assert(sentCB == null);
            }
            catch (Ice.LocalException ex)
            {
                doCheck(false);
                throw ex;
            }
        }
示例#2
0
 public override bool invokeRemote(Ice.ConnectionI con, bool compress, bool resp, out Ice.AsyncCallback sentCB)
 {
     if (_batchRequestNum == 0)
     {
         sentCB = sent();
         return(true);
     }
     cachedConnection_ = con;
     return(con.sendAsyncRequest(this, compress, false, _batchRequestNum, out sentCB));
 }
示例#3
0
 public override int invokeRemote(Ice.ConnectionI connection, bool compress, bool response)
 {
     cachedConnection_ = connection;
     return(connection.sendAsyncRequest(this, compress, response));
 }
示例#4
0
 public override bool invokeRemote(Ice.ConnectionI con, bool compress, bool resp, out Ice.AsyncCallback sentCB)
 {
     cachedConnection_ = con;
     return(con.sendAsyncRequest(this, compress, resp, 0, out sentCB));
 }