Browse Source

Merge branch 'master' of github.com:mrniko/netty-socketio

master
Nikita 10 years ago
parent
commit
8d2ea0a7e0
  1. 7
      src/main/java/com/corundumstudio/socketio/JsonSupportWrapper.java
  2. 6
      src/main/java/com/corundumstudio/socketio/SocketIOChannelInitializer.java
  3. 2
      src/main/java/com/corundumstudio/socketio/SocketIOServer.java
  4. 2
      src/main/java/com/corundumstudio/socketio/ack/AckManager.java
  5. 3
      src/main/java/com/corundumstudio/socketio/annotation/OnConnectScanner.java
  6. 6
      src/main/java/com/corundumstudio/socketio/annotation/ScannerEngine.java
  7. 2
      src/main/java/com/corundumstudio/socketio/annotation/SpringAnnotationScanner.java
  8. 2
      src/main/java/com/corundumstudio/socketio/handler/AuthorizeHandler.java
  9. 2
      src/main/java/com/corundumstudio/socketio/handler/ClientHead.java
  10. 2
      src/main/java/com/corundumstudio/socketio/handler/EncoderHandler.java
  11. 2
      src/main/java/com/corundumstudio/socketio/handler/InPacketHandler.java
  12. 2
      src/main/java/com/corundumstudio/socketio/handler/ResourceHandler.java
  13. 3
      src/main/java/com/corundumstudio/socketio/handler/WrongUrlHandler.java
  14. 3
      src/main/java/com/corundumstudio/socketio/listener/DefaultExceptionListener.java
  15. 3
      src/main/java/com/corundumstudio/socketio/namespace/Namespace.java
  16. 3
      src/main/java/com/corundumstudio/socketio/protocol/JacksonJsonSupport.java
  17. 5
      src/main/java/com/corundumstudio/socketio/scheduler/HashedWheelScheduler.java
  18. 5
      src/main/java/com/corundumstudio/socketio/scheduler/HashedWheelTimeoutScheduler.java
  19. 1
      src/main/java/com/corundumstudio/socketio/store/MemoryStoreFactory.java
  20. 1
      src/main/java/com/corundumstudio/socketio/store/RedissonStoreFactory.java
  21. 1
      src/main/java/com/corundumstudio/socketio/store/pubsub/BaseStoreFactory.java
  22. 2
      src/main/java/com/corundumstudio/socketio/transport/NamespaceClient.java
  23. 2
      src/main/java/com/corundumstudio/socketio/transport/PollingTransport.java
  24. 2
      src/main/java/com/corundumstudio/socketio/transport/WebSocketTransport.java
  25. 1
      src/test/java/com/corundumstudio/socketio/JoinIteratorsTest.java
  26. 4
      src/test/java/com/corundumstudio/socketio/parser/DecoderAckPacketTest.java
  27. 8
      src/test/java/com/corundumstudio/socketio/parser/DecoderBaseTest.java
  28. 5
      src/test/java/com/corundumstudio/socketio/parser/DecoderEventPacketTest.java
  29. 1
      src/test/java/com/corundumstudio/socketio/parser/EncoderAckPacketTest.java
  30. 2
      src/test/java/com/corundumstudio/socketio/parser/EncoderEventPacketTest.java
  31. 6
      src/test/java/com/corundumstudio/socketio/parser/PayloadTest.java

7
src/main/java/com/corundumstudio/socketio/JsonSupportWrapper.java

@ -29,7 +29,7 @@ import com.corundumstudio.socketio.protocol.JsonSupport;
class JsonSupportWrapper implements JsonSupport {
private final Logger log = LoggerFactory.getLogger(getClass());
private static final Logger log = LoggerFactory.getLogger(JsonSupportWrapper.class);
private final JsonSupport delegate;
@ -37,6 +37,7 @@ class JsonSupportWrapper implements JsonSupport {
this.delegate = delegate;
}
@Override
public AckArgs readAckArgs(ByteBufInputStream src, AckCallback<?> callback) throws IOException {
try {
return delegate.readAckArgs(src, callback);
@ -47,6 +48,7 @@ class JsonSupportWrapper implements JsonSupport {
}
}
@Override
public <T> T readValue(String namespaceName, ByteBufInputStream src, Class<T> valueType) throws IOException {
try {
return delegate.readValue(namespaceName, src, valueType);
@ -57,6 +59,7 @@ class JsonSupportWrapper implements JsonSupport {
}
}
@Override
public void writeValue(ByteBufOutputStream out, Object value) throws IOException {
try {
delegate.writeValue(out, value);
@ -66,10 +69,12 @@ class JsonSupportWrapper implements JsonSupport {
}
}
@Override
public void addEventMapping(String namespaceName, String eventName, Class<?> ... eventClass) {
delegate.addEventMapping(namespaceName, eventName, eventClass);
}
@Override
public void removeEventMapping(String namespaceName, String eventName) {
delegate.removeEventMapping(namespaceName, eventName);
}

6
src/main/java/com/corundumstudio/socketio/SocketIOChannelInitializer.java

@ -15,7 +15,6 @@
*/
package com.corundumstudio.socketio;
import com.corundumstudio.socketio.scheduler.HashedWheelTimeoutScheduler;
import io.netty.channel.Channel;
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.ChannelInitializer;
@ -50,7 +49,7 @@ import com.corundumstudio.socketio.protocol.JsonSupport;
import com.corundumstudio.socketio.protocol.PacketDecoder;
import com.corundumstudio.socketio.protocol.PacketEncoder;
import com.corundumstudio.socketio.scheduler.CancelableScheduler;
import com.corundumstudio.socketio.scheduler.HashedWheelScheduler;
import com.corundumstudio.socketio.scheduler.HashedWheelTimeoutScheduler;
import com.corundumstudio.socketio.store.StoreFactory;
import com.corundumstudio.socketio.store.pubsub.DisconnectMessage;
import com.corundumstudio.socketio.store.pubsub.PubSubStore;
@ -73,7 +72,7 @@ public class SocketIOChannelInitializer extends ChannelInitializer<Channel> impl
public static final String RESOURCE_HANDLER = "resourceHandler";
public static final String WRONG_URL_HANDLER = "wrongUrlBlocker";
private final Logger log = LoggerFactory.getLogger(getClass());
private static final Logger log = LoggerFactory.getLogger(SocketIOChannelInitializer.class);
private AckManager ackManager;
@ -204,6 +203,7 @@ public class SocketIOChannelInitializer extends ChannelInitializer<Channel> impl
return serverContext;
}
@Override
public void onDisconnect(ClientHead client) {
ackManager.onDisconnect(client);
authorizeHandler.onDisconnect(client);

2
src/main/java/com/corundumstudio/socketio/SocketIOServer.java

@ -47,7 +47,7 @@ import com.corundumstudio.socketio.namespace.NamespacesHub;
*/
public class SocketIOServer implements ClientListeners {
private final Logger log = LoggerFactory.getLogger(getClass());
private static final Logger log = LoggerFactory.getLogger(SocketIOServer.class);
private final Configuration configCopy;
private final Configuration configuration;

2
src/main/java/com/corundumstudio/socketio/ack/AckManager.java

@ -69,7 +69,7 @@ public class AckManager implements Disconnectable {
}
private final Logger log = LoggerFactory.getLogger(getClass());
private static final Logger log = LoggerFactory.getLogger(AckManager.class);
private final Map<UUID, AckEntry> ackEntries = PlatformDependent.newConcurrentHashMap();

3
src/main/java/com/corundumstudio/socketio/annotation/OnConnectScanner.java

@ -26,10 +26,12 @@ import com.corundumstudio.socketio.namespace.Namespace;
public class OnConnectScanner implements AnnotationScanner {
@Override
public Class<? extends Annotation> getScanAnnotation() {
return OnConnect.class;
}
@Override
public void addListener(Namespace namespace, final Object object, final Method method, Annotation annotation) {
namespace.addConnectListener(new ConnectListener() {
@Override
@ -45,6 +47,7 @@ public class OnConnectScanner implements AnnotationScanner {
});
}
@Override
public void validate(Method method, Class clazz) {
if (method.getParameterTypes().length != 1) {
throw new IllegalArgumentException("Wrong OnConnect listener signature: " + clazz + "." + method.getName());

6
src/main/java/com/corundumstudio/socketio/annotation/ScannerEngine.java

@ -28,7 +28,7 @@ import com.corundumstudio.socketio.namespace.Namespace;
public class ScannerEngine {
private final Logger log = LoggerFactory.getLogger(getClass());
private static final Logger log = LoggerFactory.getLogger(ScannerEngine.class);
private static final List<? extends AnnotationScanner> annotations =
Arrays.asList(new OnConnectScanner(), new OnDisconnectScanner(), new OnEventScanner());
@ -36,7 +36,7 @@ public class ScannerEngine {
private Method findSimilarMethod(Class<?> objectClazz, Method method) {
Method[] methods = objectClazz.getDeclaredMethods();
for (Method m : methods) {
if (equals(m, method)) {
if (isEquals(m, method)) {
return m;
}
}
@ -86,7 +86,7 @@ public class ScannerEngine {
}
private boolean equals(Method method1, Method method2) {
private boolean isEquals(Method method1, Method method2) {
if (!method1.getName().equals(method2.getName())
|| !method1.getReturnType().equals(method2.getReturnType())) {
return false;

2
src/main/java/com/corundumstudio/socketio/annotation/SpringAnnotationScanner.java

@ -33,7 +33,7 @@ import com.corundumstudio.socketio.SocketIOServer;
public class SpringAnnotationScanner implements BeanPostProcessor {
private final Logger log = LoggerFactory.getLogger(getClass());
private static final Logger log = LoggerFactory.getLogger(SpringAnnotationScanner.class);
private final List<Class<? extends Annotation>> annotations =
Arrays.asList(OnConnect.class, OnDisconnect.class, OnEvent.class);

2
src/main/java/com/corundumstudio/socketio/handler/AuthorizeHandler.java

@ -61,7 +61,7 @@ import com.corundumstudio.socketio.store.pubsub.PubSubStore;
@Sharable
public class AuthorizeHandler extends ChannelInboundHandlerAdapter implements Disconnectable {
private final Logger log = LoggerFactory.getLogger(getClass());
private static final Logger log = LoggerFactory.getLogger(AuthorizeHandler.class);
private final CancelableScheduler disconnectScheduler;

2
src/main/java/com/corundumstudio/socketio/handler/ClientHead.java

@ -53,7 +53,7 @@ import io.netty.util.internal.PlatformDependent;
public class ClientHead {
private final Logger log = LoggerFactory.getLogger(getClass());
private static final Logger log = LoggerFactory.getLogger(ClientHead.class);
public static final AttributeKey<ClientHead> CLIENT = AttributeKey.<ClientHead>valueOf("client");

2
src/main/java/com/corundumstudio/socketio/handler/EncoderHandler.java

@ -73,7 +73,7 @@ public class EncoderHandler extends ChannelOutboundHandlerAdapter {
public static final AttributeKey<Integer> JSONP_INDEX = AttributeKey.valueOf("jsonpIndex");
public static final AttributeKey<Boolean> WRITE_ONCE = AttributeKey.valueOf("writeOnce");
private final Logger log = LoggerFactory.getLogger(getClass());
private static final Logger log = LoggerFactory.getLogger(EncoderHandler.class);
private final PacketEncoder encoder;

2
src/main/java/com/corundumstudio/socketio/handler/InPacketHandler.java

@ -36,7 +36,7 @@ import com.corundumstudio.socketio.transport.NamespaceClient;
@Sharable
public class InPacketHandler extends SimpleChannelInboundHandler<PacketsMessage> {
private final Logger log = LoggerFactory.getLogger(getClass());
private static final Logger log = LoggerFactory.getLogger(InPacketHandler.class);
private final PacketListener packetListener;
private final PacketDecoder decoder;

2
src/main/java/com/corundumstudio/socketio/handler/ResourceHandler.java

@ -60,7 +60,7 @@ import com.corundumstudio.socketio.SocketIOChannelInitializer;
@Sharable
public class ResourceHandler extends ChannelInboundHandlerAdapter {
private final Logger log = LoggerFactory.getLogger(getClass());
private static final Logger log = LoggerFactory.getLogger(ResourceHandler.class);
public static final String HTTP_DATE_FORMAT = "EEE, dd MMM yyyy HH:mm:ss zzz";
public static final String HTTP_DATE_GMT_TIMEZONE = "GMT";

3
src/main/java/com/corundumstudio/socketio/handler/WrongUrlHandler.java

@ -35,8 +35,9 @@ import io.netty.handler.codec.http.QueryStringDecoder;
@Sharable
public class WrongUrlHandler extends ChannelInboundHandlerAdapter {
private final Logger log = LoggerFactory.getLogger(getClass());
private static final Logger log = LoggerFactory.getLogger(WrongUrlHandler.class);
@Override
public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
if (msg instanceof FullHttpRequest) {
FullHttpRequest req = (FullHttpRequest) msg;

3
src/main/java/com/corundumstudio/socketio/listener/DefaultExceptionListener.java

@ -26,7 +26,7 @@ import com.corundumstudio.socketio.SocketIOClient;
public class DefaultExceptionListener extends ExceptionListenerAdapter {
private final Logger log = LoggerFactory.getLogger(getClass());
private static final Logger log = LoggerFactory.getLogger(DefaultExceptionListener.class);
@Override
public void onEventException(Exception e, List<Object> args, SocketIOClient client) {
@ -43,6 +43,7 @@ public class DefaultExceptionListener extends ExceptionListenerAdapter {
log.error(e.getMessage(), e);
}
@Override
public boolean exceptionCaught(ChannelHandlerContext ctx, Throwable e) throws Exception {
log.error(e.getMessage(), e);
return true;

3
src/main/java/com/corundumstudio/socketio/namespace/Namespace.java

@ -86,6 +86,7 @@ public class Namespace implements SocketIONamespace {
allClients.put(client.getSessionId(), client);
}
@Override
public String getName() {
return name;
}
@ -331,6 +332,7 @@ public class Namespace implements SocketIONamespace {
return result;
}
@Override
public Collection<SocketIOClient> getAllClients() {
return Collections.unmodifiableCollection(allClients.values());
}
@ -339,6 +341,7 @@ public class Namespace implements SocketIONamespace {
return jsonSupport;
}
@Override
public SocketIOClient getClient(UUID uuid) {
return allClients.get(uuid);
}

3
src/main/java/com/corundumstudio/socketio/protocol/JacksonJsonSupport.java

@ -204,6 +204,7 @@ public class JacksonJsonSupport implements JsonSupport {
{
private final ThreadLocal<List<byte[]>> arrays = new ThreadLocal<List<byte[]>>() {
@Override
protected List<byte[]> initialValue() {
return new ArrayList<byte[]>();
};
@ -295,7 +296,7 @@ public class JacksonJsonSupport implements JsonSupport {
private final EventDeserializer eventDeserializer = new EventDeserializer();
private final AckArgsDeserializer ackArgsDeserializer = new AckArgsDeserializer();
private final Logger log = LoggerFactory.getLogger(getClass());
private static final Logger log = LoggerFactory.getLogger(JacksonJsonSupport.class);
public JacksonJsonSupport() {
this(new Module[] {});

5
src/main/java/com/corundumstudio/socketio/scheduler/HashedWheelScheduler.java

@ -36,6 +36,7 @@ public class HashedWheelScheduler implements CancelableScheduler {
this.ctx = ctx;
}
@Override
public void cancel(SchedulerKey key) {
Timeout timeout = scheduledFutures.remove(key);
if (timeout != null) {
@ -43,6 +44,7 @@ public class HashedWheelScheduler implements CancelableScheduler {
}
}
@Override
public void schedule(final Runnable runnable, long delay, TimeUnit unit) {
executorService.newTimeout(new TimerTask() {
@Override
@ -52,6 +54,7 @@ public class HashedWheelScheduler implements CancelableScheduler {
}, delay, unit);
}
@Override
public void scheduleCallback(final SchedulerKey key, final Runnable runnable, long delay, TimeUnit unit) {
Timeout timeout = executorService.newTimeout(new TimerTask() {
@Override
@ -74,6 +77,7 @@ public class HashedWheelScheduler implements CancelableScheduler {
}
}
@Override
public void schedule(final SchedulerKey key, final Runnable runnable, long delay, TimeUnit unit) {
Timeout timeout = executorService.newTimeout(new TimerTask() {
@Override
@ -91,6 +95,7 @@ public class HashedWheelScheduler implements CancelableScheduler {
}
}
@Override
public void shutdown() {
executorService.stop();
}

5
src/main/java/com/corundumstudio/socketio/scheduler/HashedWheelTimeoutScheduler.java

@ -45,6 +45,7 @@ public class HashedWheelTimeoutScheduler implements CancelableScheduler {
this.ctx = ctx;
}
@Override
public void cancel(SchedulerKey key) {
Timeout timeout = scheduledFutures.remove(key);
if (timeout != null) {
@ -52,6 +53,7 @@ public class HashedWheelTimeoutScheduler implements CancelableScheduler {
}
}
@Override
public void schedule(final Runnable runnable, long delay, TimeUnit unit) {
executorService.newTimeout(new TimerTask() {
@Override
@ -61,6 +63,7 @@ public class HashedWheelTimeoutScheduler implements CancelableScheduler {
}, delay, unit);
}
@Override
public void scheduleCallback(final SchedulerKey key, final Runnable runnable, long delay, TimeUnit unit) {
Timeout timeout = executorService.newTimeout(new TimerTask() {
@Override
@ -81,6 +84,7 @@ public class HashedWheelTimeoutScheduler implements CancelableScheduler {
replaceScheduledFuture(key, timeout);
}
@Override
public void schedule(final SchedulerKey key, final Runnable runnable, long delay, TimeUnit unit) {
Timeout timeout = executorService.newTimeout(new TimerTask() {
@Override
@ -96,6 +100,7 @@ public class HashedWheelTimeoutScheduler implements CancelableScheduler {
replaceScheduledFuture(key, timeout);
}
@Override
public void shutdown() {
executorService.stop();
}

1
src/main/java/com/corundumstudio/socketio/store/MemoryStoreFactory.java

@ -19,7 +19,6 @@ import io.netty.util.internal.PlatformDependent;
import java.util.Map;
import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap;
import com.corundumstudio.socketio.store.pubsub.BaseStoreFactory;
import com.corundumstudio.socketio.store.pubsub.PubSubStore;

1
src/main/java/com/corundumstudio/socketio/store/RedissonStoreFactory.java

@ -57,6 +57,7 @@ public class RedissonStoreFactory extends BaseStoreFactory {
return new RedissonStore(sessionId, redisClient);
}
@Override
public PubSubStore pubSubStore() {
return pubSubStore;
}

1
src/main/java/com/corundumstudio/socketio/store/pubsub/BaseStoreFactory.java

@ -34,6 +34,7 @@ public abstract class BaseStoreFactory implements StoreFactory {
return nodeId;
}
@Override
public void init(final NamespacesHub namespacesHub, final AuthorizeHandler authorizeHandler, JsonSupport jsonSupport) {
pubSubStore().subscribe(PubSubStore.DISCONNECT, new PubSubListener<DisconnectMessage>() {
@Override

2
src/main/java/com/corundumstudio/socketio/transport/NamespaceClient.java

@ -35,7 +35,7 @@ import com.corundumstudio.socketio.protocol.PacketType;
public class NamespaceClient implements SocketIOClient {
private final Logger log = LoggerFactory.getLogger(getClass());
private static final Logger log = LoggerFactory.getLogger(NamespaceClient.class);
private final AtomicBoolean disconnected = new AtomicBoolean();
private final ClientHead baseClient;

2
src/main/java/com/corundumstudio/socketio/transport/PollingTransport.java

@ -51,7 +51,7 @@ public class PollingTransport extends ChannelInboundHandlerAdapter {
public static final String NAME = "polling";
private final Logger log = LoggerFactory.getLogger(getClass());
private static final Logger log = LoggerFactory.getLogger(PollingTransport.class);
private final PacketDecoder decoder;
private final ClientsBox clientsBox;

2
src/main/java/com/corundumstudio/socketio/transport/WebSocketTransport.java

@ -56,7 +56,7 @@ public class WebSocketTransport extends ChannelInboundHandlerAdapter {
public static final String NAME = "websocket";
private final Logger log = LoggerFactory.getLogger(getClass());
private static final Logger log = LoggerFactory.getLogger(WebSocketTransport.class);
private final AuthorizeHandler authorizeHandler;
private final CancelableScheduler scheduler;

1
src/test/java/com/corundumstudio/socketio/JoinIteratorsTest.java

@ -17,7 +17,6 @@ package com.corundumstudio.socketio;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import org.junit.Assert;

4
src/test/java/com/corundumstudio/socketio/parser/DecoderAckPacketTest.java

@ -16,19 +16,17 @@
package com.corundumstudio.socketio.parser;
import java.io.IOException;
import java.util.Arrays;
import java.util.UUID;
import mockit.Expectations;
import com.fasterxml.jackson.core.JsonParseException;
import org.junit.Assert;
import org.junit.Test;
import com.corundumstudio.socketio.AckCallback;
import com.corundumstudio.socketio.protocol.Packet;
import com.corundumstudio.socketio.protocol.PacketType;
import com.fasterxml.jackson.core.JsonParseException;
public class DecoderAckPacketTest extends DecoderBaseTest {

8
src/test/java/com/corundumstudio/socketio/parser/DecoderBaseTest.java

@ -15,15 +15,13 @@
*/
package com.corundumstudio.socketio.parser;
import com.corundumstudio.socketio.namespace.NamespacesHub;
import org.junit.Before;
import mockit.Mocked;
import com.corundumstudio.socketio.Configuration;
import org.junit.Before;
import com.corundumstudio.socketio.ack.AckManager;
import com.corundumstudio.socketio.protocol.PacketDecoder;
import com.corundumstudio.socketio.protocol.JacksonJsonSupport;
import com.corundumstudio.socketio.protocol.PacketDecoder;
public class DecoderBaseTest {

5
src/test/java/com/corundumstudio/socketio/parser/DecoderEventPacketTest.java

@ -17,16 +17,13 @@ package com.corundumstudio.socketio.parser;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import com.corundumstudio.socketio.namespace.NamespacesHub;
import org.junit.Assert;
import org.junit.Test;
import com.corundumstudio.socketio.Configuration;
import com.corundumstudio.socketio.protocol.PacketDecoder;
import com.corundumstudio.socketio.protocol.JacksonJsonSupport;
import com.corundumstudio.socketio.protocol.Packet;
import com.corundumstudio.socketio.protocol.PacketDecoder;
import com.corundumstudio.socketio.protocol.PacketType;
public class DecoderEventPacketTest extends DecoderBaseTest {

1
src/test/java/com/corundumstudio/socketio/parser/EncoderAckPacketTest.java

@ -20,7 +20,6 @@ import io.netty.buffer.Unpooled;
import io.netty.util.CharsetUtil;
import java.io.IOException;
import java.util.Arrays;
import org.junit.Assert;
import org.junit.Test;

2
src/test/java/com/corundumstudio/socketio/parser/EncoderEventPacketTest.java

@ -20,8 +20,6 @@ import io.netty.buffer.Unpooled;
import io.netty.util.CharsetUtil;
import java.io.IOException;
import java.util.Arrays;
import java.util.Collections;
import org.junit.Assert;
import org.junit.Test;

6
src/test/java/com/corundumstudio/socketio/parser/PayloadTest.java

@ -15,10 +15,8 @@
*/
package com.corundumstudio.socketio.parser;
import com.corundumstudio.socketio.namespace.NamespacesHub;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import io.netty.buffer.UnpooledByteBufAllocator;
import io.netty.util.CharsetUtil;
import java.io.IOException;
@ -31,10 +29,10 @@ import org.junit.Assert;
import org.junit.Test;
import com.corundumstudio.socketio.Configuration;
import com.corundumstudio.socketio.protocol.PacketDecoder;
import com.corundumstudio.socketio.protocol.PacketEncoder;
import com.corundumstudio.socketio.protocol.JacksonJsonSupport;
import com.corundumstudio.socketio.protocol.Packet;
import com.corundumstudio.socketio.protocol.PacketDecoder;
import com.corundumstudio.socketio.protocol.PacketEncoder;
import com.corundumstudio.socketio.protocol.PacketType;
public class PayloadTest {

Loading…
Cancel
Save