diff --git a/pom.xml b/pom.xml
index 295f587..183041e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -98,37 +98,31 @@
io.netty
netty-buffer
4.0.13.Final
- bundle
io.netty
netty-common
4.0.13.Final
- bundle
io.netty
netty-transport
4.0.13.Final
- bundle
io.netty
netty-handler
4.0.13.Final
- bundle
io.netty
netty-codec-http
4.0.13.Final
- bundle
io.netty
netty-codec
4.0.13.Final
- bundle
@@ -160,10 +154,10 @@
2.2.3
- org.apache.servicemix.bundles
- org.apache.servicemix.bundles.jedis
- 2.2.1_1
- bundle
+ redis.clients
+ jedis
+ 2.2.1
+ provided
@@ -272,15 +266,9 @@
netty-socketio;scope=compile
com.corundumstudio.socketio;version="${project.version}",
- com.corundumstudio.socketio.ack;version="${project.version}",
com.corundumstudio.socketio.annotation;version="${project.version}",
- com.corundumstudio.socketio.handler;version="${project.version}",
com.corundumstudio.socketio.listener;version="${project.version}",
- com.corundumstudio.socketio.messages;version="${project.version}",
- com.corundumstudio.socketio.misc;version="${project.version}",
- com.corundumstudio.socketio.namespace;version="${project.version}",
- com.corundumstudio.socketio.parser;version="${project.version}",
- com.corundumstudio.socketio.scheduler;version="${project.version}",
+ com.corundumstudio.socketio.store;version="${project.version}",
diff --git a/src/main/java/com/corundumstudio/socketio/BroadcastOperations.java b/src/main/java/com/corundumstudio/socketio/BroadcastOperations.java
index 2dc1220..84d58fd 100644
--- a/src/main/java/com/corundumstudio/socketio/BroadcastOperations.java
+++ b/src/main/java/com/corundumstudio/socketio/BroadcastOperations.java
@@ -25,6 +25,7 @@ import com.corundumstudio.socketio.misc.IterableCollection;
import com.corundumstudio.socketio.namespace.Namespace;
import com.corundumstudio.socketio.parser.Packet;
import com.corundumstudio.socketio.parser.PacketType;
+import com.corundumstudio.socketio.store.StoreFactory;
import com.corundumstudio.socketio.store.pubsub.DispatchMessage;
import com.corundumstudio.socketio.store.pubsub.PubSubStore;
diff --git a/src/main/java/com/corundumstudio/socketio/Configuration.java b/src/main/java/com/corundumstudio/socketio/Configuration.java
index e13b481..b2bf342 100644
--- a/src/main/java/com/corundumstudio/socketio/Configuration.java
+++ b/src/main/java/com/corundumstudio/socketio/Configuration.java
@@ -22,6 +22,7 @@ import java.io.InputStream;
import com.corundumstudio.socketio.parser.JacksonJsonSupport;
import com.corundumstudio.socketio.parser.JsonSupport;
import com.corundumstudio.socketio.store.MemoryStoreFactory;
+import com.corundumstudio.socketio.store.StoreFactory;
public class Configuration {
diff --git a/src/main/java/com/corundumstudio/socketio/SocketIOChannelInitializer.java b/src/main/java/com/corundumstudio/socketio/SocketIOChannelInitializer.java
index 861d34a..3218485 100644
--- a/src/main/java/com/corundumstudio/socketio/SocketIOChannelInitializer.java
+++ b/src/main/java/com/corundumstudio/socketio/SocketIOChannelInitializer.java
@@ -40,6 +40,7 @@ import com.corundumstudio.socketio.handler.AuthorizeHandler;
import com.corundumstudio.socketio.handler.EncoderHandler;
import com.corundumstudio.socketio.handler.HeartbeatHandler;
import com.corundumstudio.socketio.handler.PacketHandler;
+import com.corundumstudio.socketio.handler.PacketListener;
import com.corundumstudio.socketio.handler.ResourceHandler;
import com.corundumstudio.socketio.handler.WrongUrlHandler;
import com.corundumstudio.socketio.misc.CompositeIterable;
@@ -49,6 +50,7 @@ import com.corundumstudio.socketio.parser.Decoder;
import com.corundumstudio.socketio.parser.Encoder;
import com.corundumstudio.socketio.parser.JsonSupport;
import com.corundumstudio.socketio.scheduler.CancelableScheduler;
+import com.corundumstudio.socketio.store.StoreFactory;
import com.corundumstudio.socketio.transport.FlashPolicyHandler;
import com.corundumstudio.socketio.transport.FlashSocketTransport;
import com.corundumstudio.socketio.transport.MainBaseClient;
diff --git a/src/main/java/com/corundumstudio/socketio/SocketIOClient.java b/src/main/java/com/corundumstudio/socketio/SocketIOClient.java
index 9a465ca..dca56ae 100644
--- a/src/main/java/com/corundumstudio/socketio/SocketIOClient.java
+++ b/src/main/java/com/corundumstudio/socketio/SocketIOClient.java
@@ -21,6 +21,7 @@ import java.util.List;
import java.util.UUID;
import com.corundumstudio.socketio.parser.Packet;
+import com.corundumstudio.socketio.store.Store;
/**
diff --git a/src/main/java/com/corundumstudio/socketio/handler/PacketHandler.java b/src/main/java/com/corundumstudio/socketio/handler/PacketHandler.java
index f8d8d7d..dccec8d 100644
--- a/src/main/java/com/corundumstudio/socketio/handler/PacketHandler.java
+++ b/src/main/java/com/corundumstudio/socketio/handler/PacketHandler.java
@@ -24,7 +24,6 @@ import io.netty.util.CharsetUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.corundumstudio.socketio.PacketListener;
import com.corundumstudio.socketio.messages.PacketsMessage;
import com.corundumstudio.socketio.namespace.Namespace;
import com.corundumstudio.socketio.namespace.NamespacesHub;
diff --git a/src/main/java/com/corundumstudio/socketio/PacketListener.java b/src/main/java/com/corundumstudio/socketio/handler/PacketListener.java
similarity index 95%
rename from src/main/java/com/corundumstudio/socketio/PacketListener.java
rename to src/main/java/com/corundumstudio/socketio/handler/PacketListener.java
index 37fd05f..a20d848 100644
--- a/src/main/java/com/corundumstudio/socketio/PacketListener.java
+++ b/src/main/java/com/corundumstudio/socketio/handler/PacketListener.java
@@ -13,16 +13,15 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package com.corundumstudio.socketio;
+package com.corundumstudio.socketio.handler;
import java.util.Collections;
+import com.corundumstudio.socketio.AckRequest;
import com.corundumstudio.socketio.ack.AckManager;
-import com.corundumstudio.socketio.handler.HeartbeatHandler;
import com.corundumstudio.socketio.namespace.Namespace;
import com.corundumstudio.socketio.namespace.NamespacesHub;
import com.corundumstudio.socketio.parser.Packet;
-import com.corundumstudio.socketio.store.pubsub.PubSubStore;
import com.corundumstudio.socketio.transport.NamespaceClient;
public class PacketListener {
diff --git a/src/main/java/com/corundumstudio/socketio/namespace/Namespace.java b/src/main/java/com/corundumstudio/socketio/namespace/Namespace.java
index 83de8b3..7ea7cd0 100644
--- a/src/main/java/com/corundumstudio/socketio/namespace/Namespace.java
+++ b/src/main/java/com/corundumstudio/socketio/namespace/Namespace.java
@@ -30,13 +30,13 @@ import com.corundumstudio.socketio.AckRequest;
import com.corundumstudio.socketio.BroadcastOperations;
import com.corundumstudio.socketio.SocketIOClient;
import com.corundumstudio.socketio.SocketIONamespace;
-import com.corundumstudio.socketio.StoreFactory;
import com.corundumstudio.socketio.annotation.ScannerEngine;
import com.corundumstudio.socketio.listener.ConnectListener;
import com.corundumstudio.socketio.listener.DataListener;
import com.corundumstudio.socketio.listener.DisconnectListener;
import com.corundumstudio.socketio.parser.JsonSupport;
import com.corundumstudio.socketio.parser.Packet;
+import com.corundumstudio.socketio.store.StoreFactory;
import com.corundumstudio.socketio.store.pubsub.DispatchMessage;
import com.corundumstudio.socketio.store.pubsub.JoinLeaveMessage;
import com.corundumstudio.socketio.store.pubsub.PubSubStore;
diff --git a/src/main/java/com/corundumstudio/socketio/namespace/NamespacesHub.java b/src/main/java/com/corundumstudio/socketio/namespace/NamespacesHub.java
index f8a711b..fc2b56b 100644
--- a/src/main/java/com/corundumstudio/socketio/namespace/NamespacesHub.java
+++ b/src/main/java/com/corundumstudio/socketio/namespace/NamespacesHub.java
@@ -21,9 +21,9 @@ import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import com.corundumstudio.socketio.SocketIOClient;
-import com.corundumstudio.socketio.StoreFactory;
import com.corundumstudio.socketio.misc.CompositeIterable;
import com.corundumstudio.socketio.parser.JsonSupport;
+import com.corundumstudio.socketio.store.StoreFactory;
public class NamespacesHub {
diff --git a/src/main/java/com/corundumstudio/socketio/store/MemoryStore.java b/src/main/java/com/corundumstudio/socketio/store/MemoryStore.java
index 581725d..b71c11b 100644
--- a/src/main/java/com/corundumstudio/socketio/store/MemoryStore.java
+++ b/src/main/java/com/corundumstudio/socketio/store/MemoryStore.java
@@ -18,8 +18,6 @@ package com.corundumstudio.socketio.store;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
-import com.corundumstudio.socketio.Store;
-
public class MemoryStore implements Store {
private final Map store = new ConcurrentHashMap();
diff --git a/src/main/java/com/corundumstudio/socketio/store/MemoryStoreFactory.java b/src/main/java/com/corundumstudio/socketio/store/MemoryStoreFactory.java
index 7abae7e..606fff1 100644
--- a/src/main/java/com/corundumstudio/socketio/store/MemoryStoreFactory.java
+++ b/src/main/java/com/corundumstudio/socketio/store/MemoryStoreFactory.java
@@ -17,7 +17,6 @@ package com.corundumstudio.socketio.store;
import java.util.UUID;
-import com.corundumstudio.socketio.Store;
import com.corundumstudio.socketio.store.pubsub.BaseStoreFactory;
import com.corundumstudio.socketio.store.pubsub.PubSubStore;
diff --git a/src/main/java/com/corundumstudio/socketio/store/RedisStore.java b/src/main/java/com/corundumstudio/socketio/store/RedisStore.java
index ee42789..3513b27 100644
--- a/src/main/java/com/corundumstudio/socketio/store/RedisStore.java
+++ b/src/main/java/com/corundumstudio/socketio/store/RedisStore.java
@@ -19,19 +19,13 @@ import java.util.UUID;
import redis.clients.jedis.Jedis;
-import com.corundumstudio.socketio.Store;
-
public class RedisStore implements Store {
- private Jedis client;
-
+ private final Jedis client;
private final String sessionId;
- public RedisStore(UUID sessionId) {
+ public RedisStore(UUID sessionId, Jedis client) {
this.sessionId = sessionId.toString();
- }
-
- public void setClient(Jedis client) {
this.client = client;
}
diff --git a/src/main/java/com/corundumstudio/socketio/store/RedisStoreFactory.java b/src/main/java/com/corundumstudio/socketio/store/RedisStoreFactory.java
index ceff87e..67966c6 100644
--- a/src/main/java/com/corundumstudio/socketio/store/RedisStoreFactory.java
+++ b/src/main/java/com/corundumstudio/socketio/store/RedisStoreFactory.java
@@ -19,7 +19,6 @@ import java.util.UUID;
import redis.clients.jedis.Jedis;
-import com.corundumstudio.socketio.Store;
import com.corundumstudio.socketio.namespace.NamespacesHub;
import com.corundumstudio.socketio.parser.JsonSupport;
import com.corundumstudio.socketio.store.pubsub.BaseStoreFactory;
@@ -59,9 +58,7 @@ public class RedisStoreFactory extends BaseStoreFactory {
@Override
public Store create(UUID sessionId) {
- RedisStore store = new RedisStore(sessionId);
- store.setClient(redisClient);
- return store;
+ return new RedisStore(sessionId, redisClient);
}
public PubSubStore getPubSubStore() {
diff --git a/src/main/java/com/corundumstudio/socketio/Store.java b/src/main/java/com/corundumstudio/socketio/store/Store.java
similarity index 94%
rename from src/main/java/com/corundumstudio/socketio/Store.java
rename to src/main/java/com/corundumstudio/socketio/store/Store.java
index 856fd00..c603be3 100644
--- a/src/main/java/com/corundumstudio/socketio/Store.java
+++ b/src/main/java/com/corundumstudio/socketio/store/Store.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package com.corundumstudio.socketio;
+package com.corundumstudio.socketio.store;
public interface Store {
diff --git a/src/main/java/com/corundumstudio/socketio/StoreFactory.java b/src/main/java/com/corundumstudio/socketio/store/StoreFactory.java
similarity index 91%
rename from src/main/java/com/corundumstudio/socketio/StoreFactory.java
rename to src/main/java/com/corundumstudio/socketio/store/StoreFactory.java
index ee9c991..8f25f7d 100644
--- a/src/main/java/com/corundumstudio/socketio/StoreFactory.java
+++ b/src/main/java/com/corundumstudio/socketio/store/StoreFactory.java
@@ -13,10 +13,11 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package com.corundumstudio.socketio;
+package com.corundumstudio.socketio.store;
import java.util.UUID;
+import com.corundumstudio.socketio.Disconnectable;
import com.corundumstudio.socketio.namespace.NamespacesHub;
import com.corundumstudio.socketio.parser.JsonSupport;
import com.corundumstudio.socketio.store.pubsub.PubSubStore;
diff --git a/src/main/java/com/corundumstudio/socketio/store/pubsub/BaseStoreFactory.java b/src/main/java/com/corundumstudio/socketio/store/pubsub/BaseStoreFactory.java
index ee0d4ba..19aeeac 100644
--- a/src/main/java/com/corundumstudio/socketio/store/pubsub/BaseStoreFactory.java
+++ b/src/main/java/com/corundumstudio/socketio/store/pubsub/BaseStoreFactory.java
@@ -15,9 +15,9 @@
*/
package com.corundumstudio.socketio.store.pubsub;
-import com.corundumstudio.socketio.StoreFactory;
import com.corundumstudio.socketio.namespace.NamespacesHub;
import com.corundumstudio.socketio.parser.JsonSupport;
+import com.corundumstudio.socketio.store.StoreFactory;
import com.corundumstudio.socketio.transport.MainBaseClient;
public abstract class BaseStoreFactory implements StoreFactory {
diff --git a/src/main/java/com/corundumstudio/socketio/transport/FlashSocketTransport.java b/src/main/java/com/corundumstudio/socketio/transport/FlashSocketTransport.java
index 662a0e4..37852a7 100644
--- a/src/main/java/com/corundumstudio/socketio/transport/FlashSocketTransport.java
+++ b/src/main/java/com/corundumstudio/socketio/transport/FlashSocketTransport.java
@@ -20,11 +20,11 @@ import io.netty.channel.ChannelHandler.Sharable;
import com.corundumstudio.socketio.DisconnectableHub;
import com.corundumstudio.socketio.SocketIOChannelInitializer;
-import com.corundumstudio.socketio.StoreFactory;
import com.corundumstudio.socketio.Transport;
import com.corundumstudio.socketio.ack.AckManager;
import com.corundumstudio.socketio.handler.AuthorizeHandler;
import com.corundumstudio.socketio.handler.HeartbeatHandler;
+import com.corundumstudio.socketio.store.StoreFactory;
@Sharable
public class FlashSocketTransport extends WebSocketTransport {
diff --git a/src/main/java/com/corundumstudio/socketio/transport/MainBaseClient.java b/src/main/java/com/corundumstudio/socketio/transport/MainBaseClient.java
index ee176b9..4cc6ebe 100644
--- a/src/main/java/com/corundumstudio/socketio/transport/MainBaseClient.java
+++ b/src/main/java/com/corundumstudio/socketio/transport/MainBaseClient.java
@@ -25,15 +25,15 @@ import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
-import com.corundumstudio.socketio.Store;
import com.corundumstudio.socketio.DisconnectableHub;
import com.corundumstudio.socketio.SocketIOClient;
-import com.corundumstudio.socketio.StoreFactory;
import com.corundumstudio.socketio.Transport;
import com.corundumstudio.socketio.ack.AckManager;
import com.corundumstudio.socketio.namespace.Namespace;
import com.corundumstudio.socketio.parser.Packet;
import com.corundumstudio.socketio.parser.PacketType;
+import com.corundumstudio.socketio.store.Store;
+import com.corundumstudio.socketio.store.StoreFactory;
/**
* Base class for main client.
diff --git a/src/main/java/com/corundumstudio/socketio/transport/WebSocketClient.java b/src/main/java/com/corundumstudio/socketio/transport/WebSocketClient.java
index 1d7e935..a9ffc11 100644
--- a/src/main/java/com/corundumstudio/socketio/transport/WebSocketClient.java
+++ b/src/main/java/com/corundumstudio/socketio/transport/WebSocketClient.java
@@ -21,11 +21,11 @@ import io.netty.channel.ChannelFuture;
import java.util.UUID;
import com.corundumstudio.socketio.DisconnectableHub;
-import com.corundumstudio.socketio.StoreFactory;
import com.corundumstudio.socketio.Transport;
import com.corundumstudio.socketio.ack.AckManager;
import com.corundumstudio.socketio.messages.WebSocketPacketMessage;
import com.corundumstudio.socketio.parser.Packet;
+import com.corundumstudio.socketio.store.StoreFactory;
public class WebSocketClient extends MainBaseClient {
diff --git a/src/main/java/com/corundumstudio/socketio/transport/WebSocketTransport.java b/src/main/java/com/corundumstudio/socketio/transport/WebSocketTransport.java
index aff82b0..4135ff2 100644
--- a/src/main/java/com/corundumstudio/socketio/transport/WebSocketTransport.java
+++ b/src/main/java/com/corundumstudio/socketio/transport/WebSocketTransport.java
@@ -41,12 +41,12 @@ import org.slf4j.LoggerFactory;
import com.corundumstudio.socketio.DisconnectableHub;
import com.corundumstudio.socketio.SocketIOClient;
import com.corundumstudio.socketio.SocketIOChannelInitializer;
-import com.corundumstudio.socketio.StoreFactory;
import com.corundumstudio.socketio.Transport;
import com.corundumstudio.socketio.ack.AckManager;
import com.corundumstudio.socketio.handler.AuthorizeHandler;
import com.corundumstudio.socketio.handler.HeartbeatHandler;
import com.corundumstudio.socketio.messages.PacketsMessage;
+import com.corundumstudio.socketio.store.StoreFactory;
@Sharable
public class WebSocketTransport extends BaseTransport {
diff --git a/src/main/java/com/corundumstudio/socketio/transport/XHRPollingClient.java b/src/main/java/com/corundumstudio/socketio/transport/XHRPollingClient.java
index ea5d3dc..58d4a68 100644
--- a/src/main/java/com/corundumstudio/socketio/transport/XHRPollingClient.java
+++ b/src/main/java/com/corundumstudio/socketio/transport/XHRPollingClient.java
@@ -24,11 +24,11 @@ import java.util.UUID;
import java.util.concurrent.ConcurrentLinkedQueue;
import com.corundumstudio.socketio.DisconnectableHub;
-import com.corundumstudio.socketio.StoreFactory;
import com.corundumstudio.socketio.Transport;
import com.corundumstudio.socketio.ack.AckManager;
import com.corundumstudio.socketio.messages.XHRSendPacketsMessage;
import com.corundumstudio.socketio.parser.Packet;
+import com.corundumstudio.socketio.store.StoreFactory;
public class XHRPollingClient extends MainBaseClient {
diff --git a/src/test/java/com/corundumstudio/socketio/handler/PacketHandlerTest.java b/src/test/java/com/corundumstudio/socketio/handler/PacketHandlerTest.java
index c46711a..b805b83 100644
--- a/src/test/java/com/corundumstudio/socketio/handler/PacketHandlerTest.java
+++ b/src/test/java/com/corundumstudio/socketio/handler/PacketHandlerTest.java
@@ -26,7 +26,6 @@ import junit.framework.Assert;
import mockit.Mocked;
import com.corundumstudio.socketio.Configuration;
-import com.corundumstudio.socketio.PacketListener;
import com.corundumstudio.socketio.transport.NamespaceClient;
import io.netty.buffer.ByteBuf;