Skip to content

Commit 26f3285

Browse files
authored
Exposing publisher queue_size and latch (#88)
* Working to improve the ROS TCP connector by adding queues and latching. * Exposing the latch parameter for ROS publishers. * Updating the CHANGELOG * Improving style for publish method definition.
1 parent a0145a4 commit 26f3285

File tree

3 files changed

+6
-5
lines changed

3 files changed

+6
-5
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ Add the [Close Stale Issues](https://github.com/marketplace/actions/close-stale-
1414

1515
### Added
1616

17+
Support for queue_size and latch for publishers. (https://github.com/Unity-Technologies/ROS-TCP-Endpoint/issues/82)
18+
1719
### Changed
1820

1921
### Deprecated

src/ros_tcp_endpoint/publisher.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,7 @@ class RosPublisher(RosSender):
2222
Class to publish messages to a ROS topic
2323
"""
2424

25-
# TODO: surface latch functionality
26-
def __init__(self, topic, message_class, queue_size=10):
25+
def __init__(self, topic, message_class, queue_size=10, latch=False):
2726
"""
2827
2928
Args:
@@ -33,7 +32,7 @@ def __init__(self, topic, message_class, queue_size=10):
3332
"""
3433
RosSender.__init__(self)
3534
self.msg = message_class()
36-
self.pub = rospy.Publisher(topic, message_class, queue_size=queue_size)
35+
self.pub = rospy.Publisher(topic, message_class, queue_size=queue_size, latch=latch)
3736

3837
def send(self, data):
3938
"""

src/ros_tcp_endpoint/server.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ def subscribe(self, topic, message_name):
141141
topic, message_class, self.tcp_server
142142
)
143143

144-
def publish(self, topic, message_name):
144+
def publish(self, topic, message_name, queue_size=10, latch=False):
145145
if topic == "":
146146
self.tcp_server.send_unity_error(
147147
"Can't publish to a blank topic name! SysCommand.publish({}, {})".format(
@@ -163,7 +163,7 @@ def publish(self, topic, message_name):
163163
self.tcp_server.source_destination_dict[topic].unregister()
164164

165165
self.tcp_server.source_destination_dict[topic] = RosPublisher(
166-
topic, message_class, queue_size=10
166+
topic, message_class, queue_size, latch
167167
)
168168

169169
def ros_service(self, topic, message_name):

0 commit comments

Comments
 (0)