Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
org.ros.internal.node.topic.DefaultPublisher< T > Class Reference
Inheritance diagram for org.ros.internal.node.topic.DefaultPublisher< T >:
Inheritance graph
[legend]

List of all members.

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 ()
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)

Detailed Description

Default implementation of a Publisher.

Author:
damonkohler@google.com (Damon Kohler)

Definition at line 46 of file DefaultPublisher.java.


Constructor & Destructor Documentation

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.


Member Function Documentation

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.

Parameters:
subscriberIdentiferthe SubscriberIdentifier of the new subscriber
channelthe 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.

Returns:
encoded connection header from subscriber

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 ( 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.

Parameters:
subscriberIdentifierthe 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.

Parameters:
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.


Member Data Documentation

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.


The documentation for this class was generated from the following file:


rosjava_core
Author(s):
autogenerated on Wed Aug 26 2015 16:06:51