From 0149b05b6fa6d3bfde571149f84580444ce932b6 Mon Sep 17 00:00:00 2001
From: Nikita <abracham.mitchell@gmail.com>
Date: Fri, 5 May 2017 13:56:01 +0300
Subject: [PATCH] RRemoteService.getFreeWorkers method added

---
 .../src/main/java/org/redisson/RedissonRemoteService.java | 6 ++++++
 .../src/main/java/org/redisson/api/RRemoteService.java    | 8 ++++++++
 2 files changed, 14 insertions(+)

diff --git a/redisson/src/main/java/org/redisson/RedissonRemoteService.java b/redisson/src/main/java/org/redisson/RedissonRemoteService.java
index 17cf21b90..7148153f1 100644
--- a/redisson/src/main/java/org/redisson/RedissonRemoteService.java
+++ b/redisson/src/main/java/org/redisson/RedissonRemoteService.java
@@ -101,6 +101,12 @@ public class RedissonRemoteService extends BaseRemoteService implements RRemoteS
         }
     }
     
+    @Override
+    public int getFreeWorkers(Class<?> remoteInterface) {
+        Set<RFuture<RemoteServiceRequest>> futuresSet = futures.get(remoteInterface);
+        return futuresSet.size();
+    }
+    
     @Override
     public <T> void register(Class<T> remoteInterface, T object, int workers) {
         register(remoteInterface, object, workers, commandExecutor.getConnectionManager().getExecutor());
diff --git a/redisson/src/main/java/org/redisson/api/RRemoteService.java b/redisson/src/main/java/org/redisson/api/RRemoteService.java
index ea6db3219..20c99f4a5 100644
--- a/redisson/src/main/java/org/redisson/api/RRemoteService.java
+++ b/redisson/src/main/java/org/redisson/api/RRemoteService.java
@@ -57,6 +57,14 @@ import java.util.concurrent.TimeUnit;
  */
 public interface RRemoteService {
 
+    /**
+     * Returns free workers amount available for tasks 
+     * 
+     * @param remoteInterface - remote service interface
+     * @return workers amount
+     */
+    int getFreeWorkers(Class<?> remoteInterface);
+    
     /**
      * Register remote service with single worker
      *