/** * This allows you to set the sender id. This is mainly for testing. * <p> * @param host host * @param port port * @param cacheNames names of the cache regions * @param listenerId listener ID * @throws IOException on error */ protected void removeBroadcast( String host, int port, ArrayList<String> cacheNames, long listenerId ) throws IOException { if ( log.isDebugEnabled() ) { log.debug( "sending removeBroadcast " ); } UDPDiscoveryMessage message = new UDPDiscoveryMessage(); message.setHost( host ); message.setPort( port ); message.setCacheNames( cacheNames ); message.setRequesterId( listenerId ); message.setMessageType( BroadcastType.REMOVE ); send( message ); } }
if ( message.getRequesterId() == CacheInfo.listenerId ) if ( message.getHost() == null || message.getCacheNames() == null || message.getCacheNames().isEmpty() )
/** * Ask other to broadcast their info the the multicast address. If a lateral is non receiving it * can use this. This is also called on startup so we can get info. * <p> * @throws IOException */ public void requestBroadcast() throws IOException { if ( log.isDebugEnabled() ) { log.debug( "sending requestBroadcast " ); } UDPDiscoveryMessage message = new UDPDiscoveryMessage(); message.setRequesterId( CacheInfo.listenerId ); message.setMessageType( BroadcastType.REQUEST ); send( message ); }
discoveredService.setServiceAddress( message.getHost() ); discoveredService.setCacheNames( message.getCacheNames() ); discoveredService.setServicePort( message.getPort() ); discoveredService.setLastHearFromTime( System.currentTimeMillis() ); if ( message.getMessageType() == BroadcastType.REQUEST ) return; else if ( message.getMessageType() == BroadcastType.REMOVE )
/** * Test sending a live messages. * <p> * @throws Exception on error */ public void testPassiveBroadcast() throws Exception { // SETUP ArrayList<String> cacheNames = new ArrayList<String>(); // DO WORK sender.passiveBroadcast( SENDING_HOST, SENDING_PORT, cacheNames, 1L ); // VERIFY // grab the sent message Object obj = receiver.waitForMessage() ; assertTrue( "unexpected crap received", obj instanceof UDPDiscoveryMessage ); UDPDiscoveryMessage msg = (UDPDiscoveryMessage) obj; // disabled test because of JCS-89 // assertEquals( "wrong host", SENDING_HOST, msg.getHost() ); assertEquals( "wrong port", SENDING_PORT, msg.getPort() ); assertEquals( "wrong message type", BroadcastType.PASSIVE, msg.getMessageType() ); }
/** * Test sending a request broadcast. * <p> * @throws Exception on error */ public void testRequestBroadcast() throws Exception { // DO WORK sender.requestBroadcast(); // VERIFY // grab the sent message Object obj = receiver.waitForMessage(); assertTrue( "unexpected crap received", obj instanceof UDPDiscoveryMessage ); UDPDiscoveryMessage msg = (UDPDiscoveryMessage) obj; assertEquals( "wrong message type", BroadcastType.REQUEST, msg.getMessageType() ); } }
msg.setHost(packet.getAddress().getHostAddress());
discoveredService.setServiceAddress( message.getHost() ); discoveredService.setCacheNames( message.getCacheNames() ); discoveredService.setServicePort( message.getPort() ); discoveredService.setLastHearFromTime( System.currentTimeMillis() ); if ( message.getMessageType() == BroadcastType.REQUEST ) return; else if ( message.getMessageType() == BroadcastType.REMOVE )
/** * Test sending a live messages. * <p> * @throws Exception on error */ public void testPassiveBroadcast() throws Exception { // SETUP ArrayList<String> cacheNames = new ArrayList<String>(); // DO WORK sender.passiveBroadcast( SENDING_HOST, SENDING_PORT, cacheNames, 1L ); // VERIFY // grab the sent message Object obj = receiver.waitForMessage() ; assertTrue( "unexpected crap received", obj instanceof UDPDiscoveryMessage ); UDPDiscoveryMessage msg = (UDPDiscoveryMessage) obj; // disabled test because of JCS-89 // assertEquals( "wrong host", SENDING_HOST, msg.getHost() ); assertEquals( "wrong port", SENDING_PORT, msg.getPort() ); assertEquals( "wrong message type", BroadcastType.PASSIVE, msg.getMessageType() ); }
/** * Ask other to broadcast their info the the multicast address. If a lateral is non receiving it * can use this. This is also called on startup so we can get info. * <p> * @throws IOException */ public void requestBroadcast() throws IOException { if ( log.isDebugEnabled() ) { log.debug( "sending requestBroadcast " ); } UDPDiscoveryMessage message = new UDPDiscoveryMessage(); message.setRequesterId( CacheInfo.listenerId ); message.setMessageType( BroadcastType.REQUEST ); send( message ); }
/** * Test sending a request broadcast. * <p> * @throws Exception on error */ public void testRequestBroadcast() throws Exception { // DO WORK sender.requestBroadcast(); // VERIFY // grab the sent message Object obj = receiver.waitForMessage(); assertTrue( "unexpected crap received", obj instanceof UDPDiscoveryMessage ); UDPDiscoveryMessage msg = (UDPDiscoveryMessage) obj; assertEquals( "wrong message type", BroadcastType.REQUEST, msg.getMessageType() ); } }
msg.setHost(packet.getAddress().getHostAddress());
/** * This allows you to set the sender id. This is mainly for testing. * <p> * @param host * @param port * @param cacheNames names of the cache regions * @param listenerId * @throws IOException */ protected void passiveBroadcast( String host, int port, ArrayList<String> cacheNames, long listenerId ) throws IOException { if ( log.isDebugEnabled() ) { log.debug( "sending passiveBroadcast " ); } UDPDiscoveryMessage message = new UDPDiscoveryMessage(); message.setHost( host ); message.setPort( port ); message.setCacheNames( cacheNames ); message.setRequesterId( listenerId ); message.setMessageType( BroadcastType.PASSIVE ); send( message ); }
/** * Test sending a remove broadcast. * <p> * @throws Exception on error */ public void testRemoveBroadcast() throws Exception { // SETUP ArrayList<String> cacheNames = new ArrayList<String>(); // DO WORK sender.removeBroadcast( SENDING_HOST, SENDING_PORT, cacheNames, 1L ); // VERIFY // grab the sent message Object obj = receiver.waitForMessage(); assertTrue( "unexpected crap received", obj instanceof UDPDiscoveryMessage ); UDPDiscoveryMessage msg = (UDPDiscoveryMessage) obj; // disabled test because of JCS-89 // assertEquals( "wrong host", SENDING_HOST, msg.getHost() ); assertEquals( "wrong port", SENDING_PORT, msg.getPort() ); assertEquals( "wrong message type", BroadcastType.REMOVE, msg.getMessageType() ); }
if ( message.getRequesterId() == CacheInfo.listenerId ) if ( message.getHost() == null || message.getCacheNames() == null || message.getCacheNames().isEmpty() )
/** * This allows you to set the sender id. This is mainly for testing. * <p> * @param host host * @param port port * @param cacheNames names of the cache regions * @param listenerId listener ID * @throws IOException on error */ protected void removeBroadcast( String host, int port, ArrayList<String> cacheNames, long listenerId ) throws IOException { if ( log.isDebugEnabled() ) { log.debug( "sending removeBroadcast " ); } UDPDiscoveryMessage message = new UDPDiscoveryMessage(); message.setHost( host ); message.setPort( port ); message.setCacheNames( cacheNames ); message.setRequesterId( listenerId ); message.setMessageType( BroadcastType.REMOVE ); send( message ); } }
/** * Test sending a remove broadcast. * <p> * @throws Exception on error */ public void testRemoveBroadcast() throws Exception { // SETUP ArrayList<String> cacheNames = new ArrayList<String>(); // DO WORK sender.removeBroadcast( SENDING_HOST, SENDING_PORT, cacheNames, 1L ); // VERIFY // grab the sent message Object obj = receiver.waitForMessage(); assertTrue( "unexpected crap received", obj instanceof UDPDiscoveryMessage ); UDPDiscoveryMessage msg = (UDPDiscoveryMessage) obj; // disabled test because of JCS-89 // assertEquals( "wrong host", SENDING_HOST, msg.getHost() ); assertEquals( "wrong port", SENDING_PORT, msg.getPort() ); assertEquals( "wrong message type", BroadcastType.REMOVE, msg.getMessageType() ); }
/** * This allows you to set the sender id. This is mainly for testing. * <p> * @param host * @param port * @param cacheNames names of the cache regions * @param listenerId * @throws IOException */ protected void passiveBroadcast( String host, int port, ArrayList<String> cacheNames, long listenerId ) throws IOException { if ( log.isDebugEnabled() ) { log.debug( "sending passiveBroadcast " ); } UDPDiscoveryMessage message = new UDPDiscoveryMessage(); message.setHost( host ); message.setPort( port ); message.setCacheNames( cacheNames ); message.setRequesterId( listenerId ); message.setMessageType( BroadcastType.PASSIVE ); send( message ); }