Realized in 1.0.8
DistributeMe should provide means to control overload of a server.
Effectively it means that distributeme should limit outgoing requests on the client side, and incoming requests on the server side.
There are generally 3 proposal how to realize it:
1. Pragmatic
New annotation, @ConcurrencyControl(clientLimit, serverLimit)
2. A little more detailed
New annotations:
@ConcurrencyControlServerSide(limit)
@ConcurrencyControlClientSide(limit)
3. Large more complicated
ConcurrencyControlStrategy{ boolean allowOutgoingCall(...); boolean allowIncomingCall(...); }
public @interface ConcurrencyControl { Class<? extends ConcurrencyControlStrategy> strategyClass(); String strategyParameter() default ""; }
4. Mixed
Realize 3 and 2, and let 2 be internally translated into 3.