org.ros.internal.node.service
Class ServiceFactory
java.lang.Object
org.ros.internal.node.service.ServiceFactory
public class ServiceFactory
- extends java.lang.Object
A factory for ServiceServer
s and ServiceClient
s.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ServiceFactory
public ServiceFactory(GraphName nodeName,
SlaveServer slaveServer,
ServiceManager serviceManager,
java.util.concurrent.ScheduledExecutorService executorService)
newServer
public <T,S> DefaultServiceServer<T,S> newServer(ServiceDeclaration serviceDeclaration,
ServiceResponseBuilder<T,S> responseBuilder,
MessageDeserializer<T> deserializer,
MessageSerializer<S> serializer,
MessageFactory messageFactory)
- Creates a
DefaultServiceServer
instance and registers it with the
master.
- Parameters:
serviceDeclaration
- the ServiceDescription
that is being servedresponseBuilder
- the ServiceResponseBuilder
that is used to build responsesdeserializer
- a MessageDeserializer
to be used for incoming messagesserializer
- a MessageSerializer
to be used for outgoing messagesmessageFactory
- a MessageFactory
to be used for creating responses
- Returns:
- a
DefaultServiceServer
instance
getServer
public <T,S> DefaultServiceServer<T,S> getServer(GraphName name)
- Parameters:
name
- the GraphName
of the DefaultServiceServer
- Returns:
- the
DefaultServiceServer
with the given name or
null
if it does not exist
newClient
public <T,S> DefaultServiceClient<T,S> newClient(ServiceDeclaration serviceDeclaration,
MessageSerializer<T> serializer,
MessageDeserializer<S> deserializer,
MessageFactory messageFactory)
- Gets or creates a
DefaultServiceClient
instance.
DefaultServiceClient
s are cached and reused per service. When a new
DefaultServiceClient
is created, it is connected to the
DefaultServiceServer
.
- Parameters:
serviceDeclaration
- the ServiceDescription
that is being serveddeserializer
- a MessageDeserializer
to be used for incoming messagesserializer
- a MessageSerializer
to be used for outgoing messagesmessageFactory
- a MessageFactory
to be used for creating requests
- Returns:
- a
DefaultServiceClient
instance