Skip to content

Commit 170bf68

Browse files
committed
connection should not fail on standerd errors
1 parent 281187d commit 170bf68

1 file changed

Lines changed: 21 additions & 29 deletions

File tree

javasdk/NRSDK/src/com/neuronrobotics/sdk/common/BowlerAbstractConnection.java

Lines changed: 21 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@
3737
import java.util.ArrayList;
3838
import java.util.concurrent.locks.ReentrantLock;
3939

40+
import javax.management.RuntimeErrorException;
41+
4042
import com.neuronrobotics.sdk.commands.bcs.core.NamespaceCommand;
4143
import com.neuronrobotics.sdk.commands.bcs.core.PingCommand;
4244
import com.neuronrobotics.sdk.commands.bcs.core.RpcArgumentsCommand;
@@ -922,36 +924,26 @@ public BowlerDatagram send(BowlerAbstractCommand command,MACAddress addr, int re
922924
for(int i=0;i<retry;i++){
923925

924926
BowlerDatagram ret;
925-
926-
ret = send( command,addr);
927-
//System.out.println(ret);
928-
if(ret != null){
929-
addr.setValues(ret.getAddress());
930-
//if(!ret.getRPC().contains("_err"))
931-
932-
return ret;
933-
}
934-
935-
if(retry>1){
936-
//only force a reconnect if the retry is above one.
937-
//a device failing to respond could just be the result of a wrong packet type level.
938-
// try {
939-
// //Log.warning("Reconnecting in the send engine loop, retry "+retry+" times");
940-
// //reconnect();
941-
// } catch (IOException e) {
942-
// // TODO Auto-generated catch block
943-
// e.printStackTrace();
944-
// }
945-
946-
}
947-
Log.error("Sending Synchronus packet and there was a failure, will retry "+(retry-i-1)+" more times");
948-
ThreadUtil.wait(150*i);
949-
if( BowlerDatagram.isUseBowlerV4()){
950-
//If the ping fails to get a response, try the older bowler format
951-
BowlerDatagram.setUseBowlerV4(false);
952-
}else{
953-
BowlerDatagram.setUseBowlerV4(true);
927+
try{
928+
ret = send( command,addr);
929+
//System.out.println(ret);
930+
if(ret != null){
931+
addr.setValues(ret.getAddress());
932+
//if(!ret.getRPC().contains("_err"))
933+
934+
return ret;
935+
}
936+
}catch(MalformattedDatagram | NullPointerException e){
937+
Log.error("Sending Synchronus packet and there was a failure, will retry "+(retry-i-1)+" more times");
938+
ThreadUtil.wait(150*i);
939+
if( BowlerDatagram.isUseBowlerV4()){
940+
//If the ping fails to get a response, try the older bowler format
941+
BowlerDatagram.setUseBowlerV4(false);
942+
}else{
943+
BowlerDatagram.setUseBowlerV4(true);
944+
}
954945
}
946+
955947
}
956948
return null;
957949
}

0 commit comments

Comments
 (0)