public interface DOMRpcService extends DOMService
DOMService
which allows clients to invoke RPCs. The conceptual model of this service is that of a dynamic
router, where the set of available RPC services can change dynamically. The service allows users to add a listener
to track the process of RPCs becoming available.Modifier and Type | Method and Description |
---|---|
@NonNull com.google.common.util.concurrent.FluentFuture<DOMRpcResult> |
invokeRpc(@NonNull org.opendaylight.yangtools.yang.model.api.SchemaPath type,
@Nullable org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode<?,?> input)
Initiate invocation of an RPC.
|
<T extends DOMRpcAvailabilityListener> |
registerRpcListener(T listener)
Register a
DOMRpcAvailabilityListener with this service to receive notifications
about RPC implementations becoming (un)available. |
@NonNull com.google.common.util.concurrent.FluentFuture<DOMRpcResult> invokeRpc(@NonNull org.opendaylight.yangtools.yang.model.api.SchemaPath type, @Nullable org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode<?,?> input)
type
- SchemaPath of the RPC to be invokedinput
- Input arguments, null if the RPC does not take any.FluentFuture
which will return either a result structure, or report a subclass
of DOMRpcException
reporting a transport error.<T extends DOMRpcAvailabilityListener> @NonNull org.opendaylight.yangtools.concepts.ListenerRegistration<T> registerRpcListener(T listener)
DOMRpcAvailabilityListener
with this service to receive notifications
about RPC implementations becoming (un)available. The listener will be invoked with the
current implementations reported and will be kept uptodate as implementations come and go.
Users should note that using a listener does not necessarily mean that
invokeRpc(SchemaPath, NormalizedNode)
will not report a failure due to
DOMRpcImplementationNotAvailableException
and need to be ready to handle it.
Implementations are encouraged to take reasonable precautions to prevent this scenario from
occurring.listener
- DOMRpcAvailabilityListener
instance to registerListenerRegistration
representing this registration. Performing a
ListenerRegistration.close()
will cancel it. Returned object is guaranteed to be non-null.Copyright © 2019 OpenDaylight. All rights reserved.