Public Member Functions | |
void | addListener (PublisherListener< T > listener) |
void | addSubscriber (SubscriberIdentifier subscriberIdentifer, Channel channel) |
DefaultPublisher (NodeIdentifier nodeIdentifier, TopicDeclaration topicDeclaration, MessageSerializer< T > serializer, MessageFactory messageFactory, ScheduledExecutorService executorService) | |
ChannelBuffer | finishHandshake (ConnectionHeader incomingHeader) |
PublisherIdentifier | getIdentifier () |
boolean | getLatchMode () |
int | getNumberOfSubscribers () |
boolean | hasSubscribers () |
T | newMessage () |
void | publish (T message) |
void | setLatchMode (boolean enabled) |
void | shutdown (long timeout, TimeUnit unit) |
void | shutdown () |
void | signalOnMasterRegistrationFailure () |
void | signalOnMasterRegistrationSuccess () |
void | signalOnMasterUnregistrationFailure () |
void | signalOnMasterUnregistrationSuccess () |
PublisherDeclaration | toDeclaration () |
String | toString () |
Private Member Functions | |
void | signalOnNewSubscriber (final SubscriberIdentifier subscriberIdentifier) |
void | signalOnShutdown (long timeout, TimeUnit unit) |
Private Attributes | |
final ListenerGroup < PublisherListener< T > > | listeners |
final MessageFactory | messageFactory |
final NodeIdentifier | nodeIdentifier |
final OutgoingMessageQueue< T > | outgoingMessageQueue |
Static Private Attributes | |
static final boolean | DEBUG = false |
static final long | DEFAULT_SHUTDOWN_TIMEOUT = 5 |
static final TimeUnit | DEFAULT_SHUTDOWN_TIMEOUT_UNITS = TimeUnit.SECONDS |
static final Log | log = LogFactory.getLog(DefaultPublisher.class) |
Default implementation of a Publisher.
Definition at line 46 of file DefaultPublisher.java.
org.ros.internal.node.topic.DefaultPublisher< T >.DefaultPublisher | ( | NodeIdentifier | nodeIdentifier, |
TopicDeclaration | topicDeclaration, | ||
MessageSerializer< T > | serializer, | ||
MessageFactory | messageFactory, | ||
ScheduledExecutorService | executorService | ||
) | [inline] |
Definition at line 67 of file DefaultPublisher.java.
void org.ros.internal.node.topic.DefaultPublisher< T >.addListener | ( | PublisherListener< T > | listener | ) | [inline] |
Definition at line 203 of file DefaultPublisher.java.
void org.ros.internal.node.topic.DefaultPublisher< T >.addSubscriber | ( | SubscriberIdentifier | subscriberIdentifer, |
Channel | channel | ||
) | [inline] |
Add a Subscriber connection to this Publisher.
subscriberIdentifer | the SubscriberIdentifier of the new subscriber |
channel | the communication Channel to the Subscriber |
Definition at line 193 of file DefaultPublisher.java.
ChannelBuffer org.ros.internal.node.topic.DefaultPublisher< T >.finishHandshake | ( | ConnectionHeader | incomingHeader | ) | [inline] |
Complete connection handshake on buffer. This generates the connection header for this publisher to send and also updates the connection state of this publisher.
Definition at line 157 of file DefaultPublisher.java.
PublisherIdentifier org.ros.internal.node.topic.DefaultPublisher< T >.getIdentifier | ( | ) | [inline] |
Definition at line 119 of file DefaultPublisher.java.
boolean org.ros.internal.node.topic.DefaultPublisher< T >.getLatchMode | ( | ) | [inline] |
Definition at line 104 of file DefaultPublisher.java.
int org.ros.internal.node.topic.DefaultPublisher< T >.getNumberOfSubscribers | ( | ) | [inline] |
Definition at line 133 of file DefaultPublisher.java.
boolean org.ros.internal.node.topic.DefaultPublisher< T >.hasSubscribers | ( | ) | [inline] |
Definition at line 128 of file DefaultPublisher.java.
T org.ros.internal.node.topic.DefaultPublisher< T >.newMessage | ( | ) | [inline] |
Definition at line 138 of file DefaultPublisher.java.
void org.ros.internal.node.topic.DefaultPublisher< T >.publish | ( | T | message | ) | [inline] |
Definition at line 143 of file DefaultPublisher.java.
void org.ros.internal.node.topic.DefaultPublisher< T >.setLatchMode | ( | boolean | enabled | ) | [inline] |
Definition at line 99 of file DefaultPublisher.java.
void org.ros.internal.node.topic.DefaultPublisher< T >.shutdown | ( | long | timeout, |
TimeUnit | unit | ||
) | [inline] |
Definition at line 109 of file DefaultPublisher.java.
void org.ros.internal.node.topic.DefaultPublisher< T >.shutdown | ( | ) | [inline] |
Definition at line 115 of file DefaultPublisher.java.
void org.ros.internal.node.topic.DefaultPublisher< T >.signalOnMasterRegistrationFailure | ( | ) | [inline, virtual] |
Signal all PublisherListeners that the Publisher has failed to register with the master.
Each listener is called in a separate thread.
Implements org.ros.internal.node.topic.DefaultTopicParticipant.
Definition at line 231 of file DefaultPublisher.java.
void org.ros.internal.node.topic.DefaultPublisher< T >.signalOnMasterRegistrationSuccess | ( | ) | [inline, virtual] |
Signal all PublisherListeners that the Publisher has successfully registered with the master.
Each listener is called in a separate thread.
Implements org.ros.internal.node.topic.DefaultTopicParticipant.
Definition at line 214 of file DefaultPublisher.java.
void org.ros.internal.node.topic.DefaultPublisher< T >.signalOnMasterUnregistrationFailure | ( | ) | [inline, virtual] |
Signal all PublisherListeners that the Publisher has failed to unregister with the master.
Each listener is called in a separate thread.
Implements org.ros.internal.node.topic.DefaultTopicParticipant.
Definition at line 265 of file DefaultPublisher.java.
void org.ros.internal.node.topic.DefaultPublisher< T >.signalOnMasterUnregistrationSuccess | ( | ) | [inline, virtual] |
Signal all PublisherListeners that the Publisher has successfully unregistered with the master.
Each listener is called in a separate thread.
Implements org.ros.internal.node.topic.DefaultTopicParticipant.
Definition at line 248 of file DefaultPublisher.java.
void org.ros.internal.node.topic.DefaultPublisher< T >.signalOnNewSubscriber | ( | final SubscriberIdentifier | subscriberIdentifier | ) | [inline, private] |
Signal all PublisherListeners that the Publisher has a new Subscriber.
Each listener is called in a separate thread.
subscriberIdentifier | the SubscriberIdentifier of the new Subscriber |
Definition at line 284 of file DefaultPublisher.java.
void org.ros.internal.node.topic.DefaultPublisher< T >.signalOnShutdown | ( | long | timeout, |
TimeUnit | unit | ||
) | [inline, private] |
Signal all PublisherListeners that the Publisher is being shut down. Listeners should exit quickly since they may block shut down.
Each listener is called in a separate thread.
timeout | |
unit |
Definition at line 303 of file DefaultPublisher.java.
PublisherDeclaration org.ros.internal.node.topic.DefaultPublisher< T >.toDeclaration | ( | ) | [inline] |
Definition at line 123 of file DefaultPublisher.java.
String org.ros.internal.node.topic.DefaultPublisher< T >.toString | ( | ) | [inline] |
Definition at line 319 of file DefaultPublisher.java.
final boolean org.ros.internal.node.topic.DefaultPublisher< T >.DEBUG = false [static, private] |
Definition at line 48 of file DefaultPublisher.java.
final long org.ros.internal.node.topic.DefaultPublisher< T >.DEFAULT_SHUTDOWN_TIMEOUT = 5 [static, private] |
The maximum delay before shutdown will begin even if all PublisherListeners have not yet returned from their PublisherListener#onShutdown(Publisher) callback.
Definition at line 56 of file DefaultPublisher.java.
final TimeUnit org.ros.internal.node.topic.DefaultPublisher< T >.DEFAULT_SHUTDOWN_TIMEOUT_UNITS = TimeUnit.SECONDS [static, private] |
Definition at line 57 of file DefaultPublisher.java.
final ListenerGroup<PublisherListener<T> > org.ros.internal.node.topic.DefaultPublisher< T >.listeners [private] |
Definition at line 63 of file DefaultPublisher.java.
final Log org.ros.internal.node.topic.DefaultPublisher< T >.log = LogFactory.getLog(DefaultPublisher.class) [static, private] |
Definition at line 49 of file DefaultPublisher.java.
final MessageFactory org.ros.internal.node.topic.DefaultPublisher< T >.messageFactory [private] |
Definition at line 65 of file DefaultPublisher.java.
final NodeIdentifier org.ros.internal.node.topic.DefaultPublisher< T >.nodeIdentifier [private] |
Definition at line 64 of file DefaultPublisher.java.
final OutgoingMessageQueue<T> org.ros.internal.node.topic.DefaultPublisher< T >.outgoingMessageQueue [private] |
Queue of all messages being published by this Publisher.
Definition at line 62 of file DefaultPublisher.java.