Hi Matthew!,

Playing with services, I have discovered a potential none expected behaviour, with the list of remote devices of a local device.

First, this list can contain remotes devices doubles.
For example, try this :


localDevice.sendBroadcast(0xBAC0, new WhoIsRequest(null, null));                        
localDevice.sendBroadcast(0xBAC0, new WhoIsRequest(null, null));
for (RemoteDevice d : localDevice.getRemoteDevices()) {
      System.out.println("Device found : " + d);
}

Moreover, I do not think it is normal to always have the full remote devices list available, after a call of WhoHasRequest method :


localDevice.sendBroadcast(0xBAC0, new WhoIsRequest(null, null));
localDevice.sendBroadcast(0xBAC0,new WhoHasRequest(null, new ObjectIdentifier(ObjectType.binaryInput, 4097)));

for (RemoteDevice d : localDevice.getRemoteDevices()) {
      System.out.println("Device found : " + d);
}

In conclusion, we always add remote devices in the list.
Therefore, can we imagine to add code for cleaning the remote devices list, before each call of WhoIsRequest, WhoHasRequest, etc. ?

Thank you in advance!

Jérémie