/** * Returns a list of entities that are currently on the MBus. * * @return Addresses of the entites */ public Address[] getKnownEntities() { Address[] ext = layer.getKnownEntities(); Address[] ret = new Address[ext.length + virtual.size()]; int i = 0; for (i = 0; i < ext.length; i++) ret[i] = ext[i]; Enumeration e = virtual.elements(); while (e.hasMoreElements()) ret[i++] = ((MessageBus) e.nextElement()).getAddress(); return ret; }
// ------------------------------------------------------------ public VirtualTransportLayer(boolean spy) throws MBusException { ackQueue = new Hashtable(); virtual = new Hashtable(); external = new Vector(); spyable = spy; // Create broadcast-address String[][] voidArray = {}; allTargets = new Address(voidArray); layer = new SimpleTransportLayer(new Address[0], this); // Register the elements that are known by now Address[] tmp = layer.getKnownEntities(); for (int i = 0; i < tmp.length; i++) external.addElement(tmp[i]); }