Browse Source

Code cleanup. #123

master
Nikita 11 years ago
parent
commit
a0d2b18acb
  1. 2
      src/main/java/com/corundumstudio/socketio/Configuration.java
  2. 16
      src/main/java/com/corundumstudio/socketio/SocketIOChannelInitializer.java
  3. 2
      src/main/java/com/corundumstudio/socketio/Transport.java
  4. 12
      src/main/java/com/corundumstudio/socketio/handler/AuthorizeHandler.java
  5. 54
      src/main/java/com/corundumstudio/socketio/transport/FlashSocketTransport.java
  6. 5
      src/main/java/com/corundumstudio/socketio/transport/WebSocketTransport.java
  7. 4
      src/main/java/com/corundumstudio/socketio/transport/XHRPollingTransport.java

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

@ -32,7 +32,7 @@ public class Configuration {
private String jsonTypeFieldName = "@class";
private String context = "/socket.io";
private String transports = join(new Transport[] {Transport.WEBSOCKET, Transport.FLASHSOCKET, Transport.XHRPOLLING});
private String transports = join(new Transport[] {Transport.WEBSOCKET, Transport.XHRPOLLING});
private int bossThreads = 0; // 0 = current_processors_amount * 2
private int workerThreads = 0; // 0 = current_processors_amount * 2

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

@ -53,7 +53,6 @@ import com.corundumstudio.socketio.store.StoreFactory;
import com.corundumstudio.socketio.store.pubsub.DisconnectMessage;
import com.corundumstudio.socketio.store.pubsub.PubSubStore;
import com.corundumstudio.socketio.transport.FlashPolicyHandler;
import com.corundumstudio.socketio.transport.FlashSocketTransport;
import com.corundumstudio.socketio.transport.MainBaseClient;
import com.corundumstudio.socketio.transport.WebSocketTransport;
import com.corundumstudio.socketio.transport.XHRPollingTransport;
@ -81,7 +80,6 @@ public class SocketIOChannelInitializer extends ChannelInitializer<Channel> impl
private AuthorizeHandler authorizeHandler;
private XHRPollingTransport xhrPollingTransport;
private WebSocketTransport webSocketTransport;
private FlashSocketTransport flashSocketTransport;
private final FlashPolicyHandler flashPolicyHandler = new FlashPolicyHandler();
private ResourceHandler resourceHandler;
private EncoderHandler encoderHandler;
@ -124,9 +122,8 @@ public class SocketIOChannelInitializer extends ChannelInitializer<Channel> impl
StoreFactory factory = configuration.getStoreFactory();
factory.init(namespacesHub, authorizeHandler, jsonSupport);
xhrPollingTransport = new XHRPollingTransport(connectPath, ackManager, this, scheduler, authorizeHandler, configuration, heartbeatHandler);
webSocketTransport = new WebSocketTransport(connectPath, isSsl, ackManager, this, authorizeHandler, heartbeatHandler, factory, configuration, scheduler);
flashSocketTransport = new FlashSocketTransport(connectPath, isSsl, ackManager, this, authorizeHandler, heartbeatHandler, factory, configuration, scheduler);
xhrPollingTransport = new XHRPollingTransport(ackManager, this, scheduler, authorizeHandler, configuration, heartbeatHandler);
webSocketTransport = new WebSocketTransport(isSsl, ackManager, this, authorizeHandler, heartbeatHandler, factory, configuration, scheduler);
PacketListener packetListener = new PacketListener(heartbeatHandler, ackManager, namespacesHub, xhrPollingTransport, scheduler);
@ -141,10 +138,6 @@ public class SocketIOChannelInitializer extends ChannelInitializer<Channel> impl
@Override
protected void initChannel(Channel ch) throws Exception {
ChannelPipeline pipeline = ch.pipeline();
boolean isFlashTransport = configuration.getTransports().contains(FlashSocketTransport.NAME);
if (isFlashTransport) {
pipeline.addLast(FLASH_POLICY_HANDLER, flashPolicyHandler);
}
if (sslContext != null) {
SSLEngine engine = sslContext.createSSLEngine();
@ -156,15 +149,11 @@ public class SocketIOChannelInitializer extends ChannelInitializer<Channel> impl
pipeline.addLast(HTTP_AGGREGATOR, new HttpObjectAggregator(configuration.getMaxHttpContentLength()));
pipeline.addLast(HTTP_ENCODER, new HttpResponseEncoder());
if (isFlashTransport) {
pipeline.addLast(RESOURCE_HANDLER, resourceHandler);
}
pipeline.addLast(PACKET_HANDLER, packetHandler);
pipeline.addLast(AUTHORIZE_HANDLER, authorizeHandler);
pipeline.addLast(XHR_POLLING_TRANSPORT, xhrPollingTransport);
pipeline.addLast(WEB_SOCKET_TRANSPORT, webSocketTransport);
pipeline.addLast(FLASH_SOCKET_TRANSPORT, flashSocketTransport);
pipeline.addLast(SOCKETIO_ENCODER, encoderHandler);
@ -197,7 +186,6 @@ public class SocketIOChannelInitializer extends ChannelInitializer<Channel> impl
ackManager.onDisconnect(client);
xhrPollingTransport.onDisconnect(client);
webSocketTransport.onDisconnect(client);
flashSocketTransport.onDisconnect(client);
authorizeHandler.onDisconnect(client);
configuration.getStoreFactory().onDisconnect(client);

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

@ -15,14 +15,12 @@
*/
package com.corundumstudio.socketio;
import com.corundumstudio.socketio.transport.FlashSocketTransport;
import com.corundumstudio.socketio.transport.WebSocketTransport;
import com.corundumstudio.socketio.transport.XHRPollingTransport;
public enum Transport {
WEBSOCKET(WebSocketTransport.NAME),
FLASHSOCKET(FlashSocketTransport.NAME),
XHRPOLLING(XHRPollingTransport.NAME);
private final String value;

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

@ -134,8 +134,8 @@ public class AuthorizeHandler extends ChannelInboundHandlerAdapter implements Di
Map map = new HashMap();
map.put("sid", sessionId);
map.put("upgrades", new String[] {});
// map.put("upgrades", new String[] {"websocket"});
// map.put("upgrades", new String[] {});
map.put("upgrades", new String[] {"websocket"});
map.put("pingInterval", configuration.getPollingDuration()*1000);
map.put("pingTimeout", configuration.getCloseTimeout()*1000);
@ -206,11 +206,9 @@ public class AuthorizeHandler extends ChannelInboundHandlerAdapter implements Di
SocketIOClient nsClient = client.addChildClient(ns);
ns.onConnect(nsClient);
if (client.getTransport() == Transport.XHRPOLLING) {
Packet packet = new Packet(PacketType.MESSAGE);
packet.setSubType(PacketType.CONNECT);
client.send(packet);
}
Packet packet = new Packet(PacketType.MESSAGE);
packet.setSubType(PacketType.CONNECT);
client.send(packet);
configuration.getStoreFactory().pubSubStore().publish(PubSubStore.CONNECT, new ConnectMessage(client.getSessionId()));
}

54
src/main/java/com/corundumstudio/socketio/transport/FlashSocketTransport.java

@ -1,54 +0,0 @@
/**
* Copyright 2012 Nikita Koksharov
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.corundumstudio.socketio.transport;
import io.netty.channel.ChannelHandler.Sharable;
import io.netty.channel.ChannelPipeline;
import com.corundumstudio.socketio.Configuration;
import com.corundumstudio.socketio.DisconnectableHub;
import com.corundumstudio.socketio.SocketIOChannelInitializer;
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.scheduler.CancelableScheduler;
import com.corundumstudio.socketio.store.StoreFactory;
@Sharable
public class FlashSocketTransport extends WebSocketTransport {
public static final String NAME = "flashsocket";
public FlashSocketTransport(String connectPath, boolean isSsl, AckManager ackManager,
DisconnectableHub disconnectable, AuthorizeHandler authorizeHandler,
HeartbeatHandler heartbeatHandler, StoreFactory storeFactory, Configuration configuration, CancelableScheduler scheduler) {
super(connectPath, isSsl, ackManager, disconnectable,
authorizeHandler, heartbeatHandler, storeFactory, configuration, scheduler);
path = connectPath + NAME;
}
@Override
protected Transport getTransport() {
return Transport.FLASHSOCKET;
}
@Override
protected void removeHandler(ChannelPipeline pipeline) {
pipeline.remove(SocketIOChannelInitializer.WEB_SOCKET_TRANSPORT);
}
}

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

@ -73,11 +73,8 @@ public class WebSocketTransport extends BaseTransport {
private XHRPollingTransport pollingTransport;
private final boolean isSsl;
protected String path;
public WebSocketTransport(String connectPath, boolean isSsl, AckManager ackManager, DisconnectableHub disconnectable,
public WebSocketTransport(boolean isSsl, AckManager ackManager, DisconnectableHub disconnectable,
AuthorizeHandler authorizeHandler, HeartbeatHandler heartbeatHandler, StoreFactory storeFactory, Configuration configuration,
CancelableScheduler scheduler) {
this.isSsl = isSsl;

4
src/main/java/com/corundumstudio/socketio/transport/XHRPollingTransport.java

@ -72,11 +72,9 @@ public class XHRPollingTransport extends BaseTransport {
private final AuthorizeHandler authorizeHandler;
private final DisconnectableHub disconnectable;
private final Configuration configuration;
private final String path;
public XHRPollingTransport(String connectPath, AckManager ackManager, DisconnectableHub disconnectable, CancelableScheduler scheduler,
public XHRPollingTransport(AckManager ackManager, DisconnectableHub disconnectable, CancelableScheduler scheduler,
AuthorizeHandler authorizeHandler, Configuration configuration, HeartbeatHandler heartbeatHandler) {
this.path = connectPath + NAME + "/";
this.ackManager = ackManager;
this.authorizeHandler = authorizeHandler;
this.configuration = configuration;

Loading…
Cancel
Save