What I mean is that you create a service, which your client applications call to do the object allocation. This service maintains a queue of priority queue of pending allocations. The service would then itself allocate the object from IceGrid on behalf of the caller.
Something like this would likely do:
Code:
interface PriorityAllocationService
{
Object* allocateObjectById(IceGrid::Session session, int priority, Ice::Identity id)
throws IceGrid::ObjectNotRegisteredException, IceGrid::AllocationException;
};
An alternative would be to add appropriate functionality to IceGrid. If you are interested in sponsoring such additions, please contact sales@zeroc.com.