Skip to content

Commit 3941c26

Browse files
committed
Full master functionality, further serialization work and operational bus with minor serialization issues.
1 parent 0d89b09 commit 3941c26

File tree

5 files changed

+24
-22
lines changed

5 files changed

+24
-22
lines changed

src/main/java/org/ros/internal/node/rpc/MasterRpcEndpointImpl.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -100,15 +100,11 @@ public List<Object> registerPublisher(String callerId, String topicName, String
100100
RemoteRequestInterface rri = new RemoteRequest("org.ros.internal.node.server.master.MasterServer",
101101
"registerPublisher",
102102
GraphName.of(callerId), new InetSocketAddress(callerSlaveUri, Integer.valueOf(port)), GraphName.of(topicName), topicMessageType);
103-
List<InetSocketAddress> subscribers =
103+
List<InetSocketAddress> subscribers =
104104
//master.registerPublisher(GraphName.of(callerId),
105105
//new InetSocketAddress(callerSlaveUri, Integer.valueOf(port)), GraphName.of(topicName), topicMessageType);
106106
(List<InetSocketAddress>)remoteMaster.queue(rri);
107-
List<String> urls = new ArrayList<String>();
108-
for (InetSocketAddress uri : subscribers) {
109-
urls.add(uri.toString());
110-
}
111-
return Response.newSuccess("Success", urls).toList();
107+
return Response.newSuccess("Success", subscribers).toList();
112108
}
113109

114110
@Override

src/main/java/org/ros/internal/node/server/NodeIdentifier.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import org.ros.namespace.GraphName;
2222
import org.ros.node.Node;
2323

24+
import java.io.Serializable;
2425
import java.net.InetSocketAddress;
2526
import java.net.URI;
2627

@@ -30,10 +31,11 @@
3031
*
3132
* @author damonkohler@google.com (Damon Kohler)
3233
*/
33-
public class NodeIdentifier {
34-
35-
private final GraphName name;
36-
private final InetSocketAddress uri;
34+
public class NodeIdentifier implements Serializable {
35+
private static final long serialVersionUID = -3493232406156967129L;
36+
37+
private GraphName name;
38+
private InetSocketAddress uri;
3739

3840
public static NodeIdentifier forName(String name) {
3941
return new NodeIdentifier(GraphName.of(name), null);
@@ -47,6 +49,7 @@ public static NodeIdentifier forNameAndUri(String name, String uri, int port) {
4749
return new NodeIdentifier(GraphName.of(name), new InetSocketAddress(uri, port));
4850
}
4951

52+
public NodeIdentifier() {}
5053
/**
5154
* Constructs a new {@link NodeIdentifier}.
5255
*

src/main/java/org/ros/internal/node/server/SlaveServer.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,8 @@ public NodeIdentifier toNodeIdentifier() {
216216

217217
@Override
218218
public Object invokeMethod(RemoteRequestInterface rri) throws Exception {
219-
return invokableMethods.invokeMethod(rri, this);
219+
synchronized(invokableMethods) {
220+
return invokableMethods.invokeMethod(rri, this);
221+
}
220222
}
221223
}

src/main/java/org/ros/internal/node/server/master/MasterServer.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -336,7 +336,7 @@ public List<List<String>> getTopicTypes(GraphName calledId) {
336336
synchronized (masterRegistrationManager) {
337337
List<List<String>> result = new ArrayList<List<String>>();
338338
for (TopicRegistrationInfo topic : masterRegistrationManager.getAllTopics()) {
339-
ArrayList l1 = new ArrayList();
339+
ArrayList<String> l1 = new ArrayList<String>();
340340
l1.add(topic.getTopicName().toString());
341341
l1.add(topic.getMessageType());
342342
result.add(l1);
@@ -436,7 +436,7 @@ private List<Object> getSystemStateServices() {
436436
for (ServiceRegistrationInfo service : masterRegistrationManager.getAllServices()) {
437437
List<Object> topicInfo = new ArrayList<Object>();
438438
topicInfo.add(service.getServiceName().toString());
439-
topicInfo.add(new ArrayList().add(service.getServiceName().toString()));
439+
topicInfo.add(new ArrayList<String>().add(service.getServiceName().toString()));
440440

441441
result.add(topicInfo);
442442
}
@@ -482,7 +482,7 @@ public List<Object> getPublishedTopics(GraphName caller, GraphName subgraph) {
482482
List<Object> result = new ArrayList<Object>();
483483
for (TopicRegistrationInfo topic : masterRegistrationManager.getAllTopics()) {
484484
if (topic.hasPublishers()) {
485-
ArrayList l1 = new ArrayList();
485+
ArrayList<String> l1 = new ArrayList<String>();
486486
l1.add(topic.getTopicName().toString());
487487
l1.add(topic.getMessageType());
488488
result.add(l1);
Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,23 @@
11
package org.ros.internal.transport;
22

3+
import java.io.Serializable;
34
import java.util.Collection;
45
import java.util.HashSet;
56

67
/**
78
* @author Groff
89
*/
9-
public final class ProtocolNames {
10-
11-
public static final String TCPROS = "TCPROS";
12-
public static final String UDPROS = "UDPROS";
13-
public static final Collection<String> SUPPORTED = new HashSet<String>();
14-
public static final Collection<String> TCP = new HashSet<String>();
15-
public static final Collection<String> UDP = new HashSet<String>();
10+
public final class ProtocolNames implements Serializable {
11+
private static final long serialVersionUID = -7758680000961964374L;
12+
public static String TCPROS = "TCPROS";
13+
public static String UDPROS = "UDPROS";
14+
public static Collection<String> SUPPORTED = new HashSet<String>();
15+
public static Collection<String> TCP = new HashSet<String>();
16+
public static Collection<String> UDP = new HashSet<String>();
1617
static {
1718
SUPPORTED.add(TCPROS);
1819
TCP.add(TCPROS);
1920
UDP.add(UDPROS);
2021
}
21-
private ProtocolNames(){}
22+
public ProtocolNames(){}
2223
}

0 commit comments

Comments
 (0)