Browse Source

DisconnectableHub introduced

master
Nikita 13 years ago
parent
commit
6214e4fc8a
  1. 20
      src/main/java/com/corundumstudio/socketio/DisconnectableHub.java
  2. 2
      src/main/java/com/corundumstudio/socketio/SocketIOPipelineFactory.java
  3. 6
      src/main/java/com/corundumstudio/socketio/transport/BaseClient.java
  4. 4
      src/main/java/com/corundumstudio/socketio/transport/WebSocketClient.java
  5. 5
      src/main/java/com/corundumstudio/socketio/transport/WebSocketTransport.java
  6. 4
      src/main/java/com/corundumstudio/socketio/transport/XHRPollingClient.java
  7. 5
      src/main/java/com/corundumstudio/socketio/transport/XHRPollingTransport.java

20
src/main/java/com/corundumstudio/socketio/DisconnectableHub.java

@ -0,0 +1,20 @@
/**
* 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;
public interface DisconnectableHub extends Disconnectable {
}

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

@ -34,7 +34,7 @@ import com.corundumstudio.socketio.transport.BaseClient;
import com.corundumstudio.socketio.transport.WebSocketTransport;
import com.corundumstudio.socketio.transport.XHRPollingTransport;
public class SocketIOPipelineFactory implements ChannelPipelineFactory, Disconnectable {
public class SocketIOPipelineFactory implements ChannelPipelineFactory, DisconnectableHub {
protected static final String SOCKETIO_ENCODER = "socketioEncoder";
protected static final String WEB_SOCKET_TRANSPORT = "webSocketTransport";

6
src/main/java/com/corundumstudio/socketio/transport/BaseClient.java

@ -26,7 +26,7 @@ import org.jboss.netty.channel.ChannelFuture;
import org.jboss.netty.channel.ChannelFutureListener;
import com.corundumstudio.socketio.AckManager;
import com.corundumstudio.socketio.Disconnectable;
import com.corundumstudio.socketio.DisconnectableHub;
import com.corundumstudio.socketio.SocketIOClient;
import com.corundumstudio.socketio.namespace.Namespace;
import com.corundumstudio.socketio.parser.Packet;
@ -36,12 +36,12 @@ public abstract class BaseClient {
private final ConcurrentMap<Namespace, SocketIOClient> namespaceClients = new ConcurrentHashMap<Namespace, SocketIOClient>();
private final Disconnectable disconnectable;
private final DisconnectableHub disconnectable;
private final AckManager ackManager;
private final UUID sessionId;
protected Channel channel;
public BaseClient(UUID sessionId, AckManager ackManager, Disconnectable disconnectable) {
public BaseClient(UUID sessionId, AckManager ackManager, DisconnectableHub disconnectable) {
this.sessionId = sessionId;
this.ackManager = ackManager;
this.disconnectable = disconnectable;

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

@ -21,13 +21,13 @@ import org.jboss.netty.channel.Channel;
import org.jboss.netty.channel.ChannelFuture;
import com.corundumstudio.socketio.AckManager;
import com.corundumstudio.socketio.Disconnectable;
import com.corundumstudio.socketio.DisconnectableHub;
import com.corundumstudio.socketio.messages.WebSocketPacketMessage;
import com.corundumstudio.socketio.parser.Packet;
public class WebSocketClient extends BaseClient {
public WebSocketClient(Channel channel, AckManager ackManager, Disconnectable disconnectable, UUID sessionId) {
public WebSocketClient(Channel channel, AckManager ackManager, DisconnectableHub disconnectable, UUID sessionId) {
super(sessionId, ackManager, disconnectable);
this.channel = channel;
}

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

@ -45,6 +45,7 @@ import com.corundumstudio.socketio.AckManager;
import com.corundumstudio.socketio.AuthorizeHandler;
import com.corundumstudio.socketio.CompositeIterable;
import com.corundumstudio.socketio.Disconnectable;
import com.corundumstudio.socketio.DisconnectableHub;
import com.corundumstudio.socketio.HeartbeatHandler;
import com.corundumstudio.socketio.SocketIOClient;
import com.corundumstudio.socketio.messages.PacketsMessage;
@ -60,11 +61,11 @@ public class WebSocketTransport extends SimpleChannelUpstreamHandler implements
private final AckManager ackManager;
private final HeartbeatHandler heartbeatHandler;
private final AuthorizeHandler authorizeHandler;
private final Disconnectable disconnectable;
private final DisconnectableHub disconnectable;
private final String path;
public WebSocketTransport(String connectPath, AckManager ackManager, Disconnectable disconnectable,
public WebSocketTransport(String connectPath, AckManager ackManager, DisconnectableHub disconnectable,
AuthorizeHandler authorizeHandler, HeartbeatHandler heartbeatHandler) {
this.path = connectPath + "websocket";
this.authorizeHandler = authorizeHandler;

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

@ -21,7 +21,7 @@ import org.jboss.netty.channel.Channel;
import org.jboss.netty.channel.ChannelFuture;
import com.corundumstudio.socketio.AckManager;
import com.corundumstudio.socketio.Disconnectable;
import com.corundumstudio.socketio.DisconnectableHub;
import com.corundumstudio.socketio.messages.XHRNewChannelMessage;
import com.corundumstudio.socketio.messages.XHRPacketMessage;
import com.corundumstudio.socketio.parser.Packet;
@ -30,7 +30,7 @@ public class XHRPollingClient extends BaseClient {
private String origin;
public XHRPollingClient(AckManager ackManager, Disconnectable disconnectable, UUID sessionId) {
public XHRPollingClient(AckManager ackManager, DisconnectableHub disconnectable, UUID sessionId) {
super(sessionId, ackManager, disconnectable);
}

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

@ -45,6 +45,7 @@ import com.corundumstudio.socketio.AuthorizeHandler;
import com.corundumstudio.socketio.CompositeIterable;
import com.corundumstudio.socketio.Configuration;
import com.corundumstudio.socketio.Disconnectable;
import com.corundumstudio.socketio.DisconnectableHub;
import com.corundumstudio.socketio.SocketIOClient;
import com.corundumstudio.socketio.messages.PacketsMessage;
import com.corundumstudio.socketio.messages.XHRErrorMessage;
@ -67,11 +68,11 @@ public class XHRPollingTransport extends SimpleChannelUpstreamHandler implements
private final AckManager ackManager;
private final AuthorizeHandler authorizeHandler;
private final Disconnectable disconnectable;
private final DisconnectableHub disconnectable;
private final Configuration configuration;
private final String path;
public XHRPollingTransport(String connectPath, AckManager ackManager, Disconnectable disconnectable, CancelableScheduler scheduler,
public XHRPollingTransport(String connectPath, AckManager ackManager, DisconnectableHub disconnectable, CancelableScheduler scheduler,
AuthorizeHandler authorizeHandler, Configuration configuration) {
this.path = connectPath + "xhr-polling/";
this.ackManager = ackManager;

Loading…
Cancel
Save