/*
* Copyright (C) 2013-2014 Sony Computer Science Laboratories, Inc. All Rights Reserved.
* Copyright (C) 2014 Sony Corporation. All Rights Reserved.
*/
package com.sonycsl.Kadecot.wamp;
import android.util.Log;
import com.sonycsl.wamp.WampPeer;
import com.sonycsl.wamp.message.WampMessage;
import com.sonycsl.wamp.role.WampRole;
import org.java_websocket.WebSocket;
import org.java_websocket.exceptions.WebsocketNotConnectedException;
import java.util.HashSet;
import java.util.Set;
public class KadecotWebSocketClient extends WampPeer {
private static final String TAG = KadecotWebSocketClient.class.getSimpleName();
private final WebSocket mWs;
public KadecotWebSocketClient(WebSocket webSocket) {
super();
mWs = webSocket;
}
@Override
protected Set<WampRole> getRoleSet() {
Set<WampRole> roleSet = new HashSet<WampRole>();
roleSet.add(new WampRole() {
@Override
protected boolean resolveTxMessageImpl(WampPeer receiver, WampMessage msg) {
return true;
}
@Override
protected boolean resolveRxMessageImpl(WampPeer transmitter, WampMessage msg,
OnReplyListener listener) {
return true;
}
@Override
public String getRoleName() {
return null;
}
});
return roleSet;
}
@Override
protected void onConnected(WampPeer peer) {
}
@Override
protected void onTransmitted(WampPeer peer, WampMessage msg) {
}
@Override
protected void onReceived(WampMessage msg) {
if (!mWs.isOpen()) {
Log.i(TAG, "OnReceived: WebSocket is already closed. msg=" + msg.toString());
return;
}
try {
mWs.send(msg.toString());
} catch (WebsocketNotConnectedException e) {
Log.i(TAG, "OnReceived: WebSocket is already closed. msg=" + msg.toString());
}
}
}