Package org.ros.internal.node.service
Class ServiceFactory
java.lang.Object
org.ros.internal.node.service.ServiceFactory
A factory for
ServiceServers and ServiceClients.- Author:
- damonkohler@google.com (Damon Kohler)
-
Constructor Summary
ConstructorsConstructorDescriptionServiceFactory(GraphName nodeName, SlaveServer slaveServer, ServiceManager serviceManager, ScheduledExecutorService executorService) -
Method Summary
Modifier and TypeMethodDescription<T,S> DefaultServiceServer<T, S> <T,S> DefaultServiceClient<T, S> newClient(ServiceDeclaration serviceDeclaration, org.ros.message.MessageSerializer<T> serializer, org.ros.message.MessageDeserializer<S> deserializer, org.ros.message.MessageFactory messageFactory) Gets or creates aDefaultServiceClientinstance.<T,S> DefaultServiceServer<T, S> newServer(ServiceDeclaration serviceDeclaration, ServiceResponseBuilder<T, S> responseBuilder, org.ros.message.MessageDeserializer<T> deserializer, org.ros.message.MessageSerializer<S> serializer, org.ros.message.MessageFactory messageFactory) Creates aDefaultServiceServerinstance and registers it with the master.
-
Constructor Details
-
ServiceFactory
public ServiceFactory(GraphName nodeName, SlaveServer slaveServer, ServiceManager serviceManager, ScheduledExecutorService executorService)
-
-
Method Details
-
newServer
public <T,S> DefaultServiceServer<T,S> newServer(ServiceDeclaration serviceDeclaration, ServiceResponseBuilder<T, S> responseBuilder, org.ros.message.MessageDeserializer<T> deserializer, org.ros.message.MessageSerializer<S> serializer, org.ros.message.MessageFactory messageFactory) Creates aDefaultServiceServerinstance and registers it with the master.- Parameters:
serviceDeclaration- theServiceDescriptionthat is being servedresponseBuilder- theServiceResponseBuilderthat is used to build responsesdeserializer- aMessageDeserializerto be used for incoming messagesserializer- aMessageSerializerto be used for outgoing messagesmessageFactory- aMessageFactoryto be used for creating responses- Returns:
- a
DefaultServiceServerinstance
-
getServer
- Parameters:
name- theGraphNameof theDefaultServiceServer- Returns:
- the
DefaultServiceServerwith the given name ornullif it does not exist
-
newClient
public <T,S> DefaultServiceClient<T,S> newClient(ServiceDeclaration serviceDeclaration, org.ros.message.MessageSerializer<T> serializer, org.ros.message.MessageDeserializer<S> deserializer, org.ros.message.MessageFactory messageFactory) Gets or creates aDefaultServiceClientinstance.DefaultServiceClients are cached and reused per service. When a newDefaultServiceClientis created, it is connected to theDefaultServiceServer.- Parameters:
serviceDeclaration- theServiceDescriptionthat is being serveddeserializer- aMessageDeserializerto be used for incoming messagesserializer- aMessageSerializerto be used for outgoing messagesmessageFactory- aMessageFactoryto be used for creating requests- Returns:
- a
DefaultServiceClientinstance
-