private void invokeAll(InputStream stream, int invokeNum, int requestId, byte compress, IceInternal.ServantManager servantManager, ObjectAdapter adapter) { // // Note: In contrast to other private or protected methods, this // operation must be called *without* the mutex locked. // IceInternal.Incoming inc = null; try { while(invokeNum > 0) { // // Prepare the invocation. // bool response = !_endpoint.datagram() && requestId != 0; Debug.Assert(!response || invokeNum == 1); inc = getIncoming(adapter, response, compress, requestId); // // Dispatch the invocation. // inc.invoke(servantManager, stream); --invokeNum; reclaimIncoming(inc); inc = null; } stream.clear(); } catch(LocalException ex) { invokeException(requestId, ex, invokeNum, false); } finally { if(inc != null) { reclaimIncoming(inc); } } }