[zb4osgi-changeset] [scm] ZigBee 4 OSGi repository change: r465 - /projects/zb4osgi/sandbox/manlio.bacco/org.aaloa.zb4osgi.zigbee.CC2530.driver/src/main/java/it/cnr/isti/zigbee/dongle/CC2530/impl/DriverCC2530.java

scm-notify at zb4osgi.aaloa.org scm-notify at zb4osgi.aaloa.org
Mon Sep 24 17:36:31 CEST 2012


Author: manlio.bacco
Date: Mon Sep 24 17:36:31 2012
New Revision: 465

Log:
added LQI request management
cosmetic fixes

Modified:
    projects/zb4osgi/sandbox/manlio.bacco/org.aaloa.zb4osgi.zigbee.CC2530.driver/src/main/java/it/cnr/isti/zigbee/dongle/CC2530/impl/DriverCC2530.java

Modified: projects/zb4osgi/sandbox/manlio.bacco/org.aaloa.zb4osgi.zigbee.CC2530.driver/src/main/java/it/cnr/isti/zigbee/dongle/CC2530/impl/DriverCC2530.java
==============================================================================
--- projects/zb4osgi/sandbox/manlio.bacco/org.aaloa.zb4osgi.zigbee.CC2530.driver/src/main/java/it/cnr/isti/zigbee/dongle/CC2530/impl/DriverCC2530.java (original)
+++ projects/zb4osgi/sandbox/manlio.bacco/org.aaloa.zb4osgi.zigbee.CC2530.driver/src/main/java/it/cnr/isti/zigbee/dongle/CC2530/impl/DriverCC2530.java Mon Sep 24 17:36:31 2012
@@ -80,6 +80,9 @@
 import com.itaca.ztool.api.zdo.ZDO_MGMT_LEAVE_REQ;
 import com.itaca.ztool.api.zdo.ZDO_MGMT_LEAVE_REQ_SRSP;
 import com.itaca.ztool.api.zdo.ZDO_MGMT_LEAVE_RSP;
+import com.itaca.ztool.api.zdo.ZDO_MGMT_LQI_REQ;
+import com.itaca.ztool.api.zdo.ZDO_MGMT_LQI_REQ_SRSP;
+import com.itaca.ztool.api.zdo.ZDO_MGMT_LQI_RSP;
 import com.itaca.ztool.api.zdo.ZDO_NODE_DESC_REQ;
 import com.itaca.ztool.api.zdo.ZDO_NODE_DESC_REQ_SRSP;
 import com.itaca.ztool.api.zdo.ZDO_NODE_DESC_RSP;
@@ -88,6 +91,7 @@
 import com.itaca.ztool.api.zdo.ZDO_SIMPLE_DESC_RSP;
 import com.itaca.ztool.api.zdo.ZDO_STARTUP_FROM_APP;
 import com.itaca.ztool.api.zdo.ZDO_STARTUP_FROM_APP_SRSP;
+import com.itaca.ztool.api.zdo.ZDO_STATE_CHANGE_IND;
 import com.itaca.ztool.api.zdo.ZDO_UNBIND_REQ;
 import com.itaca.ztool.api.zdo.ZDO_UNBIND_REQ_SRSP;
 import com.itaca.ztool.api.zdo.ZDO_UNBIND_RSP;
@@ -102,10 +106,10 @@
 public class DriverCC2530 implements Runnable, SimpleDriver{
 
 	//private MasterResetGUI resetGUI;
-	private final static Logger logger = LoggerFactory.getLogger(DriverCC2530.class); 
+	private final static Logger logger = LoggerFactory.getLogger(DriverCC2530.class);
 	private final static Logger logger4Waiter = LoggerFactory.getLogger(WaitForCommand.class);
 
-	public static final int RESEND_TIMEOUT_DEFAULT = 5000; // manlio 1000;
+	public static final int RESEND_TIMEOUT_DEFAULT = 1000;
 	public static final String RESEND_TIMEOUT_KEY = "zigbee.driver.tsb.resend.timeout";
 
 	public  static final int RESEND_MAX_RESEND_DEFAULT = 3;
@@ -125,6 +129,7 @@
 	private short pan;
 	private byte channel;
 	private boolean cleanStatus;
+	//private boolean permitJoin;
 
 	private long TIMEOUT; // = 5000;//Activator.getCurrentConfiguration().getZigBeeTimeout();
 
@@ -159,6 +164,62 @@
 					l.notify(annunce.SrcAddr, annunce.IEEEAddr, annunce.NwkAddr, annunce.Capabilities);
 				}
 			}
+			else if(packet.getCMD().get16BitValue() == ZToolCMD.ZDO_STATE_CHANGE_IND){						
+				try{
+					ZDO_STATE_CHANGE_IND p = ((ZDO_STATE_CHANGE_IND)packet);
+					/*DEV_HOLD=0x00, // Initialized - not started automatically
+					DEV_INIT=0x01, // Initialized - not connected to anything
+					DEV_NWK_DISC=0x02, // Discovering PAN's to join
+					DEV_NWK_JOINING=0x03, // Joining a PAN
+					DEV_NWK_=0x04, // ReJoining a PAN, only for end-devices
+					DEV_END_DEVICE_UNAUTH=0x05, // Joined but not yet authenticated by trust center
+					DEV_END_DEVICE=0x06, // Started as device after authentication
+					DEV_ROUTER=0x07, // Device joined, authenticated and is a router
+					DEV_COORD_STARTING=0x08, // Started as Zigbee Coordinator
+					DEV_ZB_COORD=0x09, // Started as Zigbee Coordinator
+					DEV_NWK_ORPHAN=0x0A // Device has lost information about its parent*/
+					switch (p.State) {
+					case 0:
+						logger.debug("Initialized - not started automatically");
+						break;
+					case 1:
+						logger.debug("Initialized - not connected to anything");
+						break;
+					case 2:
+						logger.debug("Discovering PANs to join or waiting for permit join");
+						break;
+					case 3:
+						logger.debug("Joining a PAN");
+						break;
+					case 4:
+						logger.debug("Rejoining a PAN, only for end-devices");
+						break;
+					case 5:
+						logger.debug("Joined but not yet authenticated by trust center");
+						break;
+					case 6:
+						logger.debug("Started as device after authentication");
+						break;
+					case 7:
+						logger.debug("Device joined, authenticated and is a router");
+						break;
+					case 8:
+						logger.debug("Started as Zigbee Coordinator");
+						break;
+					case 9:
+						logger.debug("Started as Zigbee Coordinator");
+						break;
+					case 10:
+						logger.debug("Device has lost information about its parent");
+						break;
+					default:
+						break;
+					}					
+				}
+				catch(Exception ex){
+					// ignored
+				}
+			}
 		}
 	}
 
@@ -175,9 +236,9 @@
 			if(packet.getCMD().get16BitValue() == ZToolCMD.AF_INCOMING_MSG){
 				AF_INCOMING_MSG msg = (AF_INCOMING_MSG) packet;
 				if( listners.isEmpty() ){
-					logger.debug("Recieved AF_INCOMING_MSG but no listeners. Message was: {} ", msg);
+					logger.debug("received AF_INCOMING_MSG but no listeners. Message was: {} ", msg);
 				} else {
-					logger.debug("Recieved AF_INCOMING_MSG notifying {} listeners of {}", listners.size(), msg);
+					logger.debug("received AF_INCOMING_MSG notifying {} listeners of {}", listners.size(), msg);
 				}
 				ArrayList<AFMessageListner> localCopy = null; 
 				synchronized (listners) {	
@@ -196,7 +257,7 @@
 		}
 	}
 
-	public DriverCC2530(String serialPort, int bitRate) throws ZToolException {	
+	public DriverCC2530(String serialPort, int bitRate) throws ZToolException {
 
 		this(serialPort,bitRate,NetworkMode.Coordinator,0,19, false);
 	}
@@ -227,7 +288,7 @@
 		if(timeout > 0)
 			TIMEOUT_S = TIMEOUT = timeout;
 		else
-			TIMEOUT_S = TIMEOUT = 10000;
+			TIMEOUT_S = TIMEOUT = 5000;
 		/* */
 
 		aux = RESEND_MAX_RESEND_DEFAULT;
@@ -253,6 +314,7 @@
 		setSerialPort(serialPort, bitRate);
 		setZigBeeNetwork((byte)channel, (short)pan);
 		setZigBeeNodeMode(mode);
+		//this.permitJoin = permitJoin;
 		//resetGUI=new MasterResetGUI(this);
 		//resetGUI.setVisible(true);
 	}
@@ -279,6 +341,10 @@
 		channel = ch;
 		pan = panId;
 	}	
+
+	/*public boolean getPermitJoinMode(){
+		return this.permitJoin;
+	}*/
 
 	public void setSerialPort(String serialName,int bitRate) {
 		if ( state != DriverStatus.CLOSED ) {
@@ -313,7 +379,7 @@
 		}
 		logger.info("Closing");
 		if( Thread.currentThread() != driver ){
-			logger.debug("Waiting for intialization operation to complete before closing.");
+			logger.debug("Waiting for initialization operation to complete before closing.");
 			try {
 				driver.join();
 			} catch (InterruptedException ignored) {
@@ -338,7 +404,72 @@
 		logger.info("Closed");
 	}
 
+	/*private boolean permitJoinRequest(){
+
+		try{
+			logger.debug("PERMIT JOIN enabled, will launch a ZDO_MGMT_PERMIT_JOIN_REQ command");
+			// ZDO_MGMT_PERMIT_JOIN_REQ(destination address, duration, TCSignificance)
+			ZDO_MGMT_PERMIT_JOIN_REQ req = new ZDO_MGMT_PERMIT_JOIN_REQ(ZToolAddress16.BROADCAST, 60, 0x00);
+			ZDO_MGMT_PERMIT_JOIN_REQ_SRSP response = sendPermitJoinRequest(req);
+			if(response == null){
+				logger.debug("No response for ZDO_MGMT_PERMIT_JOIN_REQ - is it a broadcast?");
+			}
+			else{
+				logger.debug("ZDO_MGMT_PERMIT_JOIN_REQ: "+response);
+			}
+			req = new ZDO_MGMT_PERMIT_JOIN_REQ(ZToolAddress16.ZNET_BROADCAST, 60, 0x00);
+			response = sendPermitJoinRequest(req);
+			if(response == null){
+				logger.debug("No response for ZDO_MGMT_PERMIT_JOIN_REQ - is it a broadcast?");
+			}
+			else{
+				logger.debug("ZDO_MGMT_PERMIT_JOIN_REQ: "+response);
+			}
+
+			this.permitJoin = false; // only first time
+		}
+		catch(Exception ex){
+			ex.printStackTrace();
+		}
+	}*/
+
+	public ZDO_MGMT_LQI_RSP sendLQIRequest(ZDO_MGMT_LQI_REQ request) {
+
+		/*boolean b = true;
+		if(this.permitJoin)
+			b = permitJoinRequest();
+
+		if(b){*/
+		if( waitForNetwork() == false ) return null;
+		ZDO_MGMT_LQI_RSP result = null;
+
+		waitAndLock3WayConversation(request);
+		final WaitForCommand waiter = new WaitForCommand(ZToolCMD.ZDO_MGMT_LQI_RSP, high);
+
+		logger.debug("Sending ZDO_MGMT_LQI_REQ {}", request);
+		ZDO_MGMT_LQI_REQ_SRSP response = (ZDO_MGMT_LQI_REQ_SRSP) sendSynchrouns(high, request);
+		if ( response == null || response.Status != 0 ) {
+			logger.debug("ZDO_MGMT_LQI_REQ failed, received {}", response);
+			waiter.cleanup();
+		} else {
+			result = (ZDO_MGMT_LQI_RSP) waiter.getCommand(TIMEOUT);
+		}
+		unLock3WayConversation(request);
+		return result;
+		/*}
+		else{
+			logger.debug("sendZDOIEEEAddressRequest not done - permit join failed.");
+			return null;
+		}*/
+	}
+
 	public ZDO_IEEE_ADDR_RSP sendZDOIEEEAddressRequest(ZDO_IEEE_ADDR_REQ request){
+
+		/*boolean b = true;
+		if(this.permitJoin)
+			b = permitJoinRequest();
+
+		if(b){*/
 		if( waitForNetwork() == false ) return null;
 		ZDO_IEEE_ADDR_RSP result = null;
 
@@ -348,16 +479,44 @@
 		logger.debug("Sending ZDO_IEEE_ADDR_REQ {}", request);
 		ZDO_IEEE_ADDR_REQ_SRSP response = (ZDO_IEEE_ADDR_REQ_SRSP) sendSynchrouns(high, request);
 		if ( response == null || response.Status != 0 ) {
-			logger.debug("ZDO_IEEE_ADDR_REQ failed, recieved {}", response);
+			logger.debug("ZDO_IEEE_ADDR_REQ failed, received {}", response);
 			waiter.cleanup();
 		} else {
 			result = (ZDO_IEEE_ADDR_RSP) waiter.getCommand(TIMEOUT);
 		}
 		unLock3WayConversation(request);
 		return result;
-	}
+		/*}
+		else{
+			logger.debug("sendZDOIEEEAddressRequest not done - permit join failed.");
+			return null;
+		}*/
+	}
+
+	/*public ZDO_MGMT_PERMIT_JOIN_REQ_SRSP sendPermitJoinRequest(ZDO_MGMT_PERMIT_JOIN_REQ request){
+
+		if( waitForNetwork() == false ) return null;
+		ZDO_MGMT_PERMIT_JOIN_REQ_SRSP result = null;
+
+		waitAndLock3WayConversation(request);
+		final WaitForCommand waiter = new WaitForCommand(ZToolCMD.ZDO_MGMT_PERMIT_JOIN_REQ_SRSP, high);
+
+		logger.debug("Sending ZDO_MGMT_PERMIT_JOIN_REQ {}", request);
+		result = (ZDO_MGMT_PERMIT_JOIN_REQ_SRSP) sendSynchrouns(high, request);
+		if ( result == null || result.Status != 0 ) {
+			//logger.debug("ZDO_MGMT_PERMIT_JOIN_REQ unsupported!");
+			//else
+			logger.debug("ZDO_MGMT_PERMIT_JOIN_REQ failed, received {}", result);
+			waiter.cleanup();
+		} else {
+			result = (ZDO_MGMT_PERMIT_JOIN_REQ_SRSP) waiter.getCommand(TIMEOUT);
+		}
+		unLock3WayConversation(request);
+		return result;
+	}*/
 
 	public ZDO_NODE_DESC_RSP sendZDONodeDescriptionRequest(ZDO_NODE_DESC_REQ request) {
+
 		if( waitForNetwork() == false ) return null;
 		ZDO_NODE_DESC_RSP result = null;
 
@@ -376,7 +535,7 @@
 	}
 
 	public ZDO_ACTIVE_EP_RSP sendZDOActiveEndPointRequest(ZDO_ACTIVE_EP_REQ request) {
-		
+
 		if( waitForNetwork() == false ) return null;
 		ZDO_ACTIVE_EP_RSP result = null;
 
@@ -386,7 +545,7 @@
 		logger.debug("Sending ZDO_ACTIVE_EP_REQ {}", request);
 		ZDO_ACTIVE_EP_REQ_SRSP response = (ZDO_ACTIVE_EP_REQ_SRSP) sendSynchrouns(high, request);
 		if ( response == null || response.Status != 0 ) {
-			logger.debug("ZDO_ACTIVE_EP_REQ failed, recieved {}", response);
+			logger.debug("ZDO_ACTIVE_EP_REQ failed, received {}", response);
 			waiter.cleanup();
 		} else {
 			result = (ZDO_ACTIVE_EP_RSP) waiter.getCommand(TIMEOUT);
@@ -534,29 +693,28 @@
 	static boolean initializeHardware(String portName, int boudRate) {
 
 		boolean result = false;
-		final int recieved[] = new int[1];
+		final int received[] = new int[1];
 		final HWLowLevelDriver probingDriver = new HWLowLevelDriver();
 		final PacketListener monitor = new PacketListener(){			
-			public void packetRecieved(ZToolPacket packet) {
+			public void packetReceived(ZToolPacket packet) {
 				logger.debug("Received initializing SYS VERSION candidate");
 				if(packet.getCommandId() == ZToolCMD.SYS_VERSION_RESPONSE){
 					logger.debug("Initializing Hardware: Received correctly SYS_VERSION_RESPONSE");
-					synchronized (recieved) {
-						recieved[0] = 3;						
+					synchronized (received) {
+						received[0] = 3;						
 					}
 				} else if(packet.isError()){
 					logger.debug("Initializing Hardware: Received erroneous packet: {}",packet.getErrorMsg());
-					synchronized (recieved) {
-						recieved[0] += 1;						
+					synchronized (received) {
+						received[0] += 1;						
 					}
 				} else {
 					logger.debug("Initializing Hardware: Received {}",packet.getClass().getName());						
-					synchronized (recieved) {
-						recieved[0] += 1;						
+					synchronized (received) {
+						received[0] += 1;						
 					}
 				}
 			}
-
 		};
 		probingDriver.addPacketListener(monitor);
 		try {
@@ -564,8 +722,8 @@
 			probingDriver.sendPacket(new SYS_VERSION());
 			final long ready = System.currentTimeMillis() + TIMEOUT_S; // manlio 5000;
 			while(ready > System.currentTimeMillis()){
-				synchronized (recieved) {
-					if( recieved[0] == 3 ){
+				synchronized (received) {
+					if( received[0] == 3 ){
 						logger.debug("Received initializing SYS VERSION");
 						break;						
 					}
@@ -578,8 +736,8 @@
 				}
 			}
 			logger.debug("End of waiting for SYS VERSION");
-			synchronized (recieved) {
-				if( recieved[0] == 3 ){
+			synchronized (received) {
+				if( received[0] == 3 ){
 					logger.debug("Succeeded initializing SYS VERSION");
 					result = true;
 				}
@@ -634,13 +792,13 @@
 		}
 
 		public void receivedAsynchrounsCommand(ZToolPacket packet) {
-			logger4Waiter.info("Recieved a packet {} and waiting for {}", packet.getCMD(), waitFor);
-			logger4Waiter.debug("Recieved {} {}", packet.getClass(), packet.toString());
+			logger4Waiter.info("received a packet {} and waiting for {}", packet.getCMD(), waitFor);
+			logger4Waiter.debug("received {} {}", packet.getClass(), packet.toString());
 			if( packet.isError() ) return;
 			if( packet.getCMD().get16BitValue() != waitFor) return;
 			synchronized (result) {
 				result[0]=packet;
-				logger4Waiter.info("Recieved packet that we were waiting for");
+				logger4Waiter.info("received packet that we were waiting for");
 				cleanup();
 			}
 		}
@@ -653,11 +811,10 @@
 						result.wait(wakeUpTime-System.currentTimeMillis());
 					} catch (InterruptedException ignored) {
 					}
-
 				}
 			}
 			if( result[0] == null ){
-				logger4Waiter.warn("Timeout {} expired and not packet with {} recieved", timeout, waitFor);
+				logger4Waiter.warn("Timeout {} expired and no packet with {} received", timeout, waitFor);
 			} 
 			cleanup();
 			return result[0];
@@ -728,10 +885,10 @@
 			}
 		}
 
-		public void packetRecieved(ZToolPacket packet) {
+		public void packetReceived(ZToolPacket packet) {
 			if(packet.isError()) return;
 			if((packet.getCommandId() & 0xFFFF) == waitingList[idx]){
-				logger.info("Recieved packet that was waiting for increasing waitingList");
+				logger.info("received packet that was waiting for increasing waitingList");
 				synchronized (waitingList) {
 					if ( packetHistory != null ) {
 						packetHistory[idx] = packet;
@@ -791,9 +948,25 @@
 		return result;
 	}
 
-	private boolean dongleSetCleanState(boolean clean){
+	private boolean dongleSetCleanState(boolean clean){ //TODO manlio
 		ZB_WRITE_CONFIGURATION_RSP response;
-		if(clean){
+		/*if(this.permitJoin){
+			response = (ZB_WRITE_CONFIGURATION_RSP) sendSynchrouns(
+					high, 
+					new ZB_WRITE_CONFIGURATION( 
+							ZB_WRITE_CONFIGURATION.CONFIG_ID.ZCD_NV_STARTUP_OPTION,
+							new int[]{0x00000004}
+							)
+					);
+
+			if( response == null || response.Status != 0) {
+				logger.info("Couldn't set ZCD_NV_STARTUP_OPTION to ZCD_NV_START_DELAY");
+				return false;
+			}else{
+				logger.info("Set ZCD_NV_STARTUP_OPTION to ZCD_NV_START_DELAY");
+			}
+		}			
+		else*/ if(clean){
 			response = (ZB_WRITE_CONFIGURATION_RSP) sendSynchrouns(
 					high, 
 					new ZB_WRITE_CONFIGURATION( 
@@ -836,15 +1009,6 @@
 
 	private boolean dongleSetChannel(int[] channelMask) {
 
-		logger.info(
-				"Setting the channel to {}{}{}{}", new Object[]{ 
-						Integer.toHexString(channelMask[0]), 
-						Integer.toHexString(channelMask[1]),
-						Integer.toHexString(channelMask[2]),
-						Integer.toHexString(channelMask[3])
-				}				
-				);
-
 		ZB_WRITE_CONFIGURATION_RSP response = 
 				(ZB_WRITE_CONFIGURATION_RSP) sendSynchrouns(
 						high, 
@@ -870,7 +1034,7 @@
 	}
 
 	private boolean dongleSetNetworkMode(){
-		
+
 		logger.info("Changing the Network Mode to {}", mode);
 
 		ZB_WRITE_CONFIGURATION_RSP response = 
@@ -942,7 +1106,6 @@
 			return false;
 		} else {
 			//return true;//TODO: response.Status == ZDO_STARTUP_FROM_APP_SRSP.AF_STATUS.SUCCESS;
-			logger.debug("doEndDeviceCreateNetwok: received "+response.Status+".");
 			return true;
 		}
 	}
@@ -969,7 +1132,6 @@
 		if ( response2 == null ) {			
 			return false;
 		} else {
-			logger.debug("doCoordinatorCreateNetwork: received "+response.Status+".");
 			return true;//TODO response.Status == ZDO_STARTUP_FROM_APP_SRSP.AF_STATUS.SUCCESS;
 		}
 	}
@@ -1039,7 +1201,7 @@
 			logger.warn(
 					"The channel configuration differ from the channel configuration in use: " +
 							"in use {}, while the configured is {}.\n" +
-							"The ZigBee Stack shuold be flushed, try to set "+ConfigurationProperties.NETWORK_FLUSH+" to TRUE",
+							"The ZigBee Stack should be flushed, try to set "+ConfigurationProperties.NETWORK_FLUSH+" to TRUE",
 							value, channel
 					);
 			mismatch = true;
@@ -1048,7 +1210,7 @@
 			logger.warn(
 					"The PanId configuration differ from the channel configuration in use: " +
 							"in use {}, while the configured is {}.\n" +
-							"The ZigBee Stack shuold be flushed, try to set "+ConfigurationProperties.NETWORK_FLUSH+" to TRUE",
+							"The ZigBee Stack should be flushed, try to set "+ConfigurationProperties.NETWORK_FLUSH+" to TRUE",
 							value, pan
 					);
 			mismatch = true;
@@ -1156,7 +1318,7 @@
 			logger.debug("Sending ZDO_IEEE_ADDR_REQ");
 			ZDO_IEEE_ADDR_REQ_SRSP response = (ZDO_IEEE_ADDR_REQ_SRSP) sendSynchrouns(high, new ZDO_IEEE_ADDR_REQ(addresses[k],ZDO_IEEE_ADDR_REQ.REQ_TYPE.EXTENDED.getValue(),0));
 			if ( response == null || response.Status != 0 ) {
-				logger.debug("ZDO_IEEE_ADDR_REQ failed, recieved {}", response);
+				logger.debug("ZDO_IEEE_ADDR_REQ failed, received {}", response);
 				waiter.cleanup();
 			} else {
 				responseA4 = (ZDO_IEEE_ADDR_RSP) waiter.getCommand(TIMEOUT);
@@ -1229,7 +1391,7 @@
 		SynchrounsCommandListner listener = new SynchrounsCommandListner() {
 
 			public void receivedCommandResponse(ZToolPacket packet) {
-				logger.info("Recieved Synchrouns Response {}", packet.getClass().getName());
+				logger.info("received Synchrouns Response {}", packet.getClass().getName());
 				synchronized (response) {
 					response[0] = packet;
 					response.notify();
@@ -1240,7 +1402,7 @@
 		while( sending <= RESEND_MAX_RETRY ){
 			try {
 				hwDriver.sendSynchrounsCommand(request, listener, RESEND_TIMEOUT);
-				logger.info("Sent {} during the {}-th tenative", request.getClass().getName(),sending);
+				logger.info("Sent {} during the {}-th tentative", request.getClass().getName(),sending);
 				synchronized (response) {
 					long wakeUpTime = System.currentTimeMillis() + RESEND_TIMEOUT;
 					while(response[0] == null && wakeUpTime > System.currentTimeMillis()){
@@ -1256,18 +1418,18 @@
 					}
 				}
 				if ( response[0] != null ) {
-					logger.debug("Recieved synchrouns command {} before timout", response[0]);
+					logger.debug("received synchrouns command {} before timout", response[0]);
 				} else {
-					logger.debug("Timeout fired and not synchrouns command recieved", response[0]);
+					logger.debug("Timeout fired and not synchrouns command received", response[0]);
 				}
 				if ( RESEND_ONLY_EXCEPTION ) {
 					break;
 				}else{
-					logger.info("Failed to send {} during the {}-th tenative", request.getClass().getName(),sending);
+					logger.info("Failed to send {} during the {}-th tentative", request.getClass().getName(),sending);
 					sending++;
 				}
 			}catch(IOException ignored){
-				logger.info("Failed to send {} during the {}-th tenative", request.getClass().getName(),sending);
+				logger.info("Failed to send {} during the {}-th tentative", request.getClass().getName(),sending);
 				logger.debug("Sending operation failed due to ", ignored);
 				sending++;
 			}
@@ -1546,4 +1708,8 @@
 	public DriverStatus getDriverStatus() {
 		return state;
 	}
+
+	/*public void setPermitJoin(boolean permitJoin) {
+		this.permitJoin = permitJoin;
+	}*/
 }




More information about the Commit mailing list