From: Binary <bin...@us...> - 2010-06-06 14:53:09
|
Update of /cvsroot/jmule/jmule2/src/org/jmule/core/networkmanager In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv28021/src/org/jmule/core/networkmanager Modified Files: NetworkManagerImpl.java Log Message: Fixed bug in server reconnect sequence. Index: NetworkManagerImpl.java =================================================================== RCS file: /cvsroot/jmule/jmule2/src/org/jmule/core/networkmanager/NetworkManagerImpl.java,v retrieving revision 1.35 retrieving revision 1.36 diff -C2 -d -r1.35 -r1.36 *** NetworkManagerImpl.java 18 May 2010 18:25:13 -0000 1.35 --- NetworkManagerImpl.java 6 Jun 2010 14:53:01 -0000 1.36 *************** *** 1198,1214 **** public void serverConnectingFailed(Throwable cause) { ! _server_manager.serverConnectingFailed(serverConnectionMonitor.getServerConnection().getIPAddress(),serverConnectionMonitor.getServerConnection().getPort(), cause); ! ! serverConnectionMonitor.JMStop(); ! serverPacketProcessor.JMStop(); ! serverConnectionMonitor = null; ! } ! ! public void serverDisconnected() { ! serverConnectionMonitor.JMStop(); if (serverPacketProcessor != null) serverPacketProcessor.JMStop(); ! _server_manager.serverDisconnected(serverConnectionMonitor.getServerConnection().getIPAddress(),serverConnectionMonitor.getServerConnection().getPort()); serverConnectionMonitor = null; } --- 1198,1217 ---- public void serverConnectingFailed(Throwable cause) { ! ServerConnectionMonitor old_monitor = serverConnectionMonitor; ! serverConnectionMonitor=null; ! old_monitor.JMStop(); if (serverPacketProcessor != null) serverPacketProcessor.JMStop(); ! _server_manager.serverConnectingFailed(old_monitor.getServerConnection().getIPAddress(),old_monitor.getServerConnection().getPort(), cause); ! old_monitor = null; ! } ! ! public void serverDisconnected() { ! ServerConnectionMonitor old_monitor = serverConnectionMonitor; serverConnectionMonitor = null; + old_monitor.JMStop(); + + _server_manager.serverDisconnected(old_monitor.getServerConnection().getIPAddress(),old_monitor.getServerConnection().getPort()); + old_monitor = null; } *************** *** 2263,2267 **** public synchronized void installMonitor(JMPeerConnection peerConnection) { - //System.out.println("Install monitor for : " + peerConnection); boolean needToConnect = false; if (channelsToConnect.isEmpty()) --- 2266,2269 ---- *************** *** 2274,2284 **** } - //private boolean needToWrite = true; - public void sendPacket(JMPeerConnection connection, Packet packet) { int k = 10; if (packet.getPacket().length < k) k = packet.getPacket().length; - //System.out.println("offer to send for connection :: " + connection );//+ " :: " + Convert.byteToHexString(packet.getPacket(), 0, k)); if (connection.getStatus() != ConnectionStatus.CONNECTED) return; --- 2276,2283 ---- *************** *** 2722,2727 **** } PacketFragment container = packetsToProcess.poll(); - // System.out.println("packetsToProcess :: poll : " + container.getConnection() + " : " + container.getContent().capacity() + " Limit : " + container.getPacketLimit() + " " + Convert.byteToHexString(container.getContent().array(), 0, 10)+ " lastUpdate : "+container.getLastUpdate()+"\n"); - //System.out.println("Peer packet processor :: packet from :: " + container.getConnection()); JMPeerConnection peer_connection = (JMPeerConnection) container.getConnection(); String key = peer_connection.getIPAddress() + ":" + peer_connection.getUsePort(); --- 2721,2724 ---- *************** *** 2730,2739 **** if (beginPacket!=null) { - // System.out.println("packetsToProcess :: begin concat :"); try { - // System.out.println("concat :: part1 :: limit " + beginPacket.getPacketLimit()); - // System.out.println("concat :: part1 :: packet " + Convert.byteToHexString(beginPacket.getContent().array(), 0,10)); - // System.out.println("concat :: part2 :: limit " + container.getPacketLimit()); - // System.out.println("concat :: part2 :: packet : " + Convert.byteToHexString(container.getContent().array(), 0, 10)); beginPacket.concat(container); container = beginPacket; --- 2727,2731 ---- *************** *** 2745,2749 **** } - // System.out.println("packetsToProcess :: begin analyze packet :"); boolean stopLoop = false; do { --- 2737,2740 ---- *************** *** 2755,2760 **** if (first != E2DKConstants.PROTO_EMULE_EXTENDED_TCP) { stopLoop = true; - //System.out.println("Remove head byte : " + Convert.byteToHex(first)); - } int packetLength = container.getLength(); --- 2746,2749 ---- *************** *** 2764,2776 **** container.moveUnusedBytes(1); } - // System.out.println(" packetsToProcess :: iteration :: " + container); if (container.getPacketLimit() < 5) { - // System.out.println("packetsToProcess :: packet to small :"); break; } }while(stopLoop); - // try { - - // System.out.println("packetsToProcess :: count packets count :"); int count = 0; try { --- 2753,2760 ---- *************** *** 2779,2827 **** t.printStackTrace(); } - // System.out.println("packetsToProcess :: packet count ::" + count); if (count != 0) - //System.out.println("Peer packet processor :: input :: count :: " + count); for(int packetID = 0;packetID<count;packetID++) { - // System.out.println("Peer packet processor :: input :: " + Convert.byteToHexString(container.getContent().array(), 0, 10)); - // System.out.println("Peer packet processor :: input :: limit :: " + container.getPacketLimit()); - // System.out.println(" PeerPacketProcessor :: input"); - try { processClientPackets(container); } catch (UnknownPacketException e) { - // TODO Auto-generated catch block e.printStackTrace(); break; } catch (MalformattedPacketException e) { - // TODO Auto-generated catch block e.printStackTrace(); } catch (DataFormatException e) { e.printStackTrace(); } - - // System.out.println(" PeerPacketProcessor :: output"); - // System.out.println("Peer packet processor :: output :: " + Convert.byteToHexString(container.getContent().array(), 0, 10)); - // System.out.println("Peer packet processor :: output :: limit :: " + container.getPacketLimit()); - // System.out.println("Peer packet processor :: output :: position :: " + container.getContent().position()); } if (!container.isFullUsed()) { - // System.out.println("packetsToProcess :: container not full used ::"); container.getContent().position(0); fragmentMap.put(key, container); } else { - // System.out.println("packetsToProcess :: container full used ::"); container.clear(); } ! ! ! ! // } catch (UnknownPacketException e) { ! // e.printStackTrace(); ! // } catch (MalformattedPacketException e) { ! // e.printStackTrace(); ! // } catch (DataFormatException e) { ! // e.printStackTrace(); ! // } } } --- 2763,2787 ---- t.printStackTrace(); } if (count != 0) for(int packetID = 0;packetID<count;packetID++) { try { processClientPackets(container); } catch (UnknownPacketException e) { e.printStackTrace(); break; } catch (MalformattedPacketException e) { e.printStackTrace(); } catch (DataFormatException e) { e.printStackTrace(); } } if (!container.isFullUsed()) { container.getContent().position(0); fragmentMap.put(key, container); } else { container.clear(); } ! } } *************** *** 2965,2970 **** PacketFragment container; ! container = new PacketFragment(serverConnection, ! ConfigurationManager.NETWORK_READ_BUFFER); int readedBytes = channel.read(container --- 2925,2929 ---- PacketFragment container; ! container = new PacketFragment(serverConnection,ConfigurationManager.NETWORK_READ_BUFFER); int readedBytes = channel.read(container *************** *** 2990,2996 **** sendSequence = false; try { ! serverConnection.getJMChannel().getChannel() ! .register(serverSelector, ! SelectionKey.OP_READ); } catch (ClosedChannelException e) { e.printStackTrace(); --- 2949,2953 ---- sendSequence = false; try { ! serverConnection.getJMChannel().getChannel().register(serverSelector,SelectionKey.OP_READ); } catch (ClosedChannelException e) { e.printStackTrace(); *************** *** 3005,3012 **** sendSequence = false; try { ! serverConnection.getJMChannel() ! .getChannel().register( ! serverSelector, ! SelectionKey.OP_READ); } catch (ClosedChannelException e) { e.printStackTrace(); --- 2962,2966 ---- sendSequence = false; try { ! serverConnection.getJMChannel().getChannel().register(serverSelector,SelectionKey.OP_READ); } catch (ClosedChannelException e) { e.printStackTrace(); *************** *** 3109,3119 **** try { int count = getPacketCount(container); ! //System.out.println("processServerPackets :: count :: " + count); ! for(int xa = 0;xa<count;xa++) { ! // System.out.println("processServerPackets :: input : " + Convert.byteToHexString(container.getContent().array(), 0,10)); processServerPackets(container); - // System.out.println("processServerPackets :: output : " + Convert.byteToHexString(container.getContent().array(), 0,10)); - // System.out.println("processServerPackets :: limit : " + container.getPacketLimit()); - // System.out.println("processServerPackets :: position :: " + container.getContent().position()); } if (!container.isFullUsed()) { --- 3063,3069 ---- try { int count = getPacketCount(container); ! ! for(int packetID = 0;packetID<count;packetID++) { processServerPackets(container); } if (!container.isFullUsed()) { |