Package org.graphlab.net.netty.messages

Examples of org.graphlab.net.netty.messages.HandshakeMessage


        }

        public void channelConnected(ChannelHandlerContext ctx, ChannelStateEvent e) {
            System.out.println("Channel connected!" + e.getChannel());
            try {
                e.getChannel().write(new HandshakeMessage(99, InetAddress.getLocalHost().getHostName(), 245));
            } catch (Exception err) {
                err.printStackTrace();
            }
        }
View Full Code Here


        public void messageReceived(ChannelHandlerContext ctx, MessageEvent ethrows Exception {
            GraphLabMessage message = (GraphLabMessage) e.getMessage();

                switch(message.getMessageId()) {
                    case MessageIds.HANDSHAKE:
                        HandshakeMessage handshake = (HandshakeMessage) message;

                        // Must be faster way to do this..
                        if (channelIdToNodeId.values().contains(handshake.getNodeId())) {
                            System.out.println("Warning: already had node id, replacing");
                            Integer keyToRemove = null;
                            for(Map.Entry<Integer, Integer> entry : channelIdToNodeId.entrySet()) {
                                if (entry.getValue() == handshake.getNodeId()) {
                                    keyToRemove = entry.getKey();
                                    break;
                                }
                            }
                            if (keyToRemove != null) channelIdToNodeId.remove(keyToRemove);
                        }

                        // Register
                        GraphLabNodeInfo nodeInfo =  new GraphLabNodeInfo(handshake.getNodeId(),
                                InetAddress.getByName(handshake.getAddress()),
                                handshake.getPort());
                        synchronized (this) {
                            nodes.put(handshake.getNodeId(),
                                    nodeInfo);
                            channelIdToNodeId.put(e.getChannel().getId(), handshake.getNodeId());
                            nodesToChannels.put(handshake.getNodeId(), ctx.getChannel());

                            // Send all other nodes this node
                            for(Integer nodeId: nodesToChannels.keySet()) {
                                System.out.println("*" + nodeId + "; " + handshake.getNodeId());
                                if (nodeId != handshake.getNodeId()) {
                                    sendClient(nodeId, new NodeInfoMessage(nodeInfo));
                                    // Send other clients to this node
                                    sendClient(nodeInfo.getId(), new NodeInfoMessage(nodes.get(nodeId)));
                                }
                            }
View Full Code Here

TOP

Related Classes of org.graphlab.net.netty.messages.HandshakeMessage

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.