public class MdsalLowLevelTestProvider extends Object implements OdlMdsalLowlevelControlService
| Constructor and Description |
|---|
MdsalLowLevelTestProvider(RpcProviderRegistry rpcRegistry,
DOMRpcProviderService domRpcService,
org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceProvider singletonService,
org.opendaylight.mdsal.dom.api.DOMSchemaService schemaService,
org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer bindingNormalizedNodeSerializer,
NotificationPublishService notificationPublishService,
NotificationService notificationService,
DOMDataBroker domDataBroker,
org.opendaylight.mdsal.dom.api.DOMDataTreeService domDataTreeService,
DistributedShardFactory distributedShardFactory,
DistributedDataStoreInterface configDataStore,
ActorSystemProvider actorSystemProvider) |
| Modifier and Type | Method and Description |
|---|---|
com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<AddShardReplicaOutput>> |
addShardReplica(AddShardReplicaInput input)
A specialised copy of cluster-admin:add-shard-replica.FIXME: Is this really
needed for prefix shards, or even module shards(or is the cluster-admin RPC
sufficient)?
|
com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<BecomePrefixLeaderOutput>> |
becomePrefixLeader(BecomePrefixLeaderInput input)
Upon receiving this, the member shall ask the appropriate APIto become Leader of
the given shard (presumably the llt:list-ints one,created by
produce-transactions) and return immediatelly.
|
com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<CheckPublishNotificationsOutput>> |
checkPublishNotifications(CheckPublishNotificationsInput input)
Upon receiving this, the member shall immediatelly returnthe current tracking
data related to the current (or previous) taskstarted by
start-publish-notifications with this id.
|
com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<CreatePrefixShardOutput>> |
createPrefixShard(CreatePrefixShardInput input)
Upon receiving this, the member creates a prefix shard at the
instance-identifier, with replicason the required members.
|
com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<DeconfigureIdIntsShardOutput>> |
deconfigureIdIntsShard(DeconfigureIdIntsShardInput input)
Upon receiving this, the member shall ask the appropriate APIto remove the
llt:id-ints shard (presumably created by produce-transactions)and return
immediatelly.It is expected the data would move to the root prefix shard
seamlessly.TODO: Make shard name configurable by input?
|
com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<IsClientAbortedOutput>> |
isClientAborted(IsClientAbortedInput input)
Return state of cds-access-client.FIXME: Is an input needed?
|
com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<ProduceTransactionsOutput>> |
produceTransactions(ProduceTransactionsInput input)
Upon receiving this, the member shall make sure the outer list itemof
llt:in-ints exists for the given id, make sure a shard forthe whole (config)
id-ints is created (by creating and closing producerfor the whole id-ints), and
create a DOMDataTreeProducer for that item (using that shard).FIXME: Is the
above the normal way of creating prefix-based chards?Then start creating (one by
one) and submitting transactionsto randomly add or delete items on the inner
list for that id.To ensure balanced number of deletes, the first write can
createa random set of random numbers.
|
com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<RegisterBoundConstantOutput>> |
registerBoundConstant(RegisterBoundConstantInput input)
Upon receiving this, the member has to create and registera bound
llt:get-contexted-constant implementation (routed RPC).If the registration fails
for any reason, propagate the corresponding error.
|
com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<RegisterConstantOutput>> |
registerConstant(RegisterConstantInput input)
Upon receiving this, the member has to create llt:get-constantimplementation
(global RPC).
|
com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<RegisterDefaultConstantOutput>> |
registerDefaultConstant(RegisterDefaultConstantInput input)
Upon receiving this, the member has to create and registera default
llt:get-contexted-constant implementation (routed RPC).If the registration fails
for any reason, propagate the corresponding error.
|
com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<RegisterFlappingSingletonOutput>> |
registerFlappingSingleton(RegisterFlappingSingletonInput input)
Upon receiving this, the member checks whether it has already createda
'flapping' application implementation and 'active' flag is set, and fails if
yes.If no, the member (creates a flapping application implementation,)sets the
active flag, initializes local variable flap-count to 0,and registers the
implementation as a singleton application.If the registration fails for any
reason, propagate the corresponding error.If the application is instantiated, it
immediatelly un-registers itself.When the application instance is closed, it
increments flap-countand if active flag is set, re-registers the application
implementation as a singleton.If either un-registration or re-registration
fails, 'active' flag is unset,flap-count is set to negative of its previous
value (minus one in case of un-registration)to signal a failure has happened.
|
com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<RegisterSingletonConstantOutput>> |
registerSingletonConstant(RegisterSingletonConstantInput input)
Upon receiving this, the member checks whether it has already registereda
singleton application, and fails if yes.
|
com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<RemovePrefixShardOutput>> |
removePrefixShard(RemovePrefixShardInput input)
Upon receiving this, the member removes the prefix based shard identifier by
this prefix.This must be called from the same node that created the shard.
|
com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<RemoveShardReplicaOutput>> |
removeShardReplica(RemoveShardReplicaInput input)
A specialised copy of cluster-admin:remove-shard-replica.FIXME: Is this really
needed for prefix shards, or even module shards(or is the cluster-admin RPC
sufficient)?
|
com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<ShutdownPrefixShardReplicaOutput>> |
shutdownPrefixShardReplica(ShutdownPrefixShardReplicaInput input)
Upon receiving this, the member will try to gracefully shutdown local
configurationdata store prefix-based shard replica.
|
com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<ShutdownShardReplicaOutput>> |
shutdownShardReplica(ShutdownShardReplicaInput input)
Upon receiving this, the member will try to gracefully shutdown local
configurationdata store module-based shard replica.
|
com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<StartPublishNotificationsOutput>> |
startPublishNotifications(StartPublishNotificationsInput input)
Upon receiving this, the member checks whether it is already in the middle of
publishing,for this id, and fails if yes.
|
com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<SubscribeDdtlOutput>> |
subscribeDdtl(SubscribeDdtlInput input)
Upon receiving this, the member checks whether it has already subscribedand
fails if yes.
|
com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<SubscribeDtclOutput>> |
subscribeDtcl(SubscribeDtclInput input)
Upon receiving this, the member checks whether it has already subscribedand
fails if yes.
|
com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<SubscribeYnlOutput>> |
subscribeYnl(SubscribeYnlInput input)
Upon receiving this, the member checks whether it has already subscribeda yang
listener for the given id, and fails if yes.If no, the member subscribes a Yang
notification listener to listen forllt:id-sequence notifications.
|
com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<UnregisterBoundConstantOutput>> |
unregisterBoundConstant(UnregisterBoundConstantInput input)
Upon receiving this, the member has to unregisterany llt:get-contexted-constant
implementations bound to the context.If no bound implementation for the context
has been registered, do nothing.
|
com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<UnregisterConstantOutput>> |
unregisterConstant(UnregisterConstantInput input)
Upon receiving this, the member has to unregisterany llt:get-constant
implementations it has registered.If no implementation has been registered, do
nothing.
|
com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<UnregisterDefaultConstantOutput>> |
unregisterDefaultConstant(UnregisterDefaultConstantInput input)
Upon receiving this, the member has to unregisterany llt:get-contexted-constant
default implementations it has registered.If no default implementation has been
registered, do nothing.
|
com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<UnregisterFlappingSingletonOutput>> |
unregisterFlappingSingleton(UnregisterFlappingSingletonInput input)
Upon receiving this, the member checks whether it has createda flapping
application, and fails if no.
|
com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<UnregisterSingletonConstantOutput>> |
unregisterSingletonConstant(UnregisterSingletonConstantInput input)
Upon receiving this, the member checks whether it has currently registereda
singleton application, and fails if no.
|
com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<UnsubscribeDdtlOutput>> |
unsubscribeDdtl(UnsubscribeDdtlInput input)
Upon receiving this, the member checks whether it has currently subscribeda
DOMDataTreeListener for llt:id-ints changes, and fails if no.
|
com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<UnsubscribeDtclOutput>> |
unsubscribeDtcl(UnsubscribeDtclInput input)
Upon receiving this, the member checks whether it has currently subscribeda Data
Tree Change Listener for llt:id-ints changes, and fails if no.
|
com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<UnsubscribeYnlOutput>> |
unsubscribeYnl(UnsubscribeYnlInput input)
Upon receiving this, the member checks whether it has currently subscribeda yang
listener for the given id, and fails if no.
|
com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<WriteTransactionsOutput>> |
writeTransactions(WriteTransactionsInput input)
Upon receiving this, the member shall make sure the outer list itemof
llt:id-ints exists for the given id, and then start creating (one by one)and
submitting transactions to randomly add or delete items on the inner list for
that id.The randomness should avoid creating conflicting writes (at least for
non-chainedtransactions).
|
public MdsalLowLevelTestProvider(RpcProviderRegistry rpcRegistry, DOMRpcProviderService domRpcService, org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceProvider singletonService, org.opendaylight.mdsal.dom.api.DOMSchemaService schemaService, org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer bindingNormalizedNodeSerializer, NotificationPublishService notificationPublishService, NotificationService notificationService, DOMDataBroker domDataBroker, org.opendaylight.mdsal.dom.api.DOMDataTreeService domDataTreeService, DistributedShardFactory distributedShardFactory, DistributedDataStoreInterface configDataStore, ActorSystemProvider actorSystemProvider)
public com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<UnregisterSingletonConstantOutput>> unregisterSingletonConstant(UnregisterSingletonConstantInput input)
OdlMdsalLowlevelControlServiceunregisterSingletonConstant in interface OdlMdsalLowlevelControlServicepublic com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<StartPublishNotificationsOutput>> startPublishNotifications(StartPublishNotificationsInput input)
OdlMdsalLowlevelControlServicestartPublishNotifications in interface OdlMdsalLowlevelControlServicepublic com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<SubscribeDtclOutput>> subscribeDtcl(SubscribeDtclInput input)
OdlMdsalLowlevelControlServicesubscribeDtcl in interface OdlMdsalLowlevelControlServicepublic com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<WriteTransactionsOutput>> writeTransactions(WriteTransactionsInput input)
OdlMdsalLowlevelControlServicewriteTransactions in interface OdlMdsalLowlevelControlServicepublic com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<IsClientAbortedOutput>> isClientAborted(IsClientAbortedInput input)
OdlMdsalLowlevelControlServiceisClientAborted in interface OdlMdsalLowlevelControlServicepublic com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<RemoveShardReplicaOutput>> removeShardReplica(RemoveShardReplicaInput input)
OdlMdsalLowlevelControlServiceremoveShardReplica in interface OdlMdsalLowlevelControlServicepublic com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<SubscribeYnlOutput>> subscribeYnl(SubscribeYnlInput input)
OdlMdsalLowlevelControlServicesubscribeYnl in interface OdlMdsalLowlevelControlServicepublic com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<RemovePrefixShardOutput>> removePrefixShard(RemovePrefixShardInput input)
OdlMdsalLowlevelControlServiceremovePrefixShard in interface OdlMdsalLowlevelControlServicepublic com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<BecomePrefixLeaderOutput>> becomePrefixLeader(BecomePrefixLeaderInput input)
OdlMdsalLowlevelControlServicebecomePrefixLeader in interface OdlMdsalLowlevelControlServicepublic com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<UnregisterBoundConstantOutput>> unregisterBoundConstant(UnregisterBoundConstantInput input)
OdlMdsalLowlevelControlServiceunregisterBoundConstant in interface OdlMdsalLowlevelControlServicepublic com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<RegisterSingletonConstantOutput>> registerSingletonConstant(RegisterSingletonConstantInput input)
OdlMdsalLowlevelControlServiceregisterSingletonConstant in interface OdlMdsalLowlevelControlServicepublic com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<RegisterDefaultConstantOutput>> registerDefaultConstant(RegisterDefaultConstantInput input)
OdlMdsalLowlevelControlServiceregisterDefaultConstant in interface OdlMdsalLowlevelControlServicepublic com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<UnregisterConstantOutput>> unregisterConstant(UnregisterConstantInput input)
OdlMdsalLowlevelControlServiceunregisterConstant in interface OdlMdsalLowlevelControlServicepublic com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<UnregisterFlappingSingletonOutput>> unregisterFlappingSingleton(UnregisterFlappingSingletonInput input)
OdlMdsalLowlevelControlServiceunregisterFlappingSingleton in interface OdlMdsalLowlevelControlServicepublic com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<AddShardReplicaOutput>> addShardReplica(AddShardReplicaInput input)
OdlMdsalLowlevelControlServiceaddShardReplica in interface OdlMdsalLowlevelControlServicepublic com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<SubscribeDdtlOutput>> subscribeDdtl(SubscribeDdtlInput input)
OdlMdsalLowlevelControlServicesubscribeDdtl in interface OdlMdsalLowlevelControlServicepublic com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<RegisterBoundConstantOutput>> registerBoundConstant(RegisterBoundConstantInput input)
OdlMdsalLowlevelControlServiceregisterBoundConstant in interface OdlMdsalLowlevelControlServicepublic com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<RegisterFlappingSingletonOutput>> registerFlappingSingleton(RegisterFlappingSingletonInput input)
OdlMdsalLowlevelControlServiceregisterFlappingSingleton in interface OdlMdsalLowlevelControlServicepublic com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<UnsubscribeDtclOutput>> unsubscribeDtcl(UnsubscribeDtclInput input)
OdlMdsalLowlevelControlServiceunsubscribeDtcl in interface OdlMdsalLowlevelControlServicepublic com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<CreatePrefixShardOutput>> createPrefixShard(CreatePrefixShardInput input)
OdlMdsalLowlevelControlServicecreatePrefixShard in interface OdlMdsalLowlevelControlServicepublic com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<DeconfigureIdIntsShardOutput>> deconfigureIdIntsShard(DeconfigureIdIntsShardInput input)
OdlMdsalLowlevelControlServicedeconfigureIdIntsShard in interface OdlMdsalLowlevelControlServicepublic com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<UnsubscribeYnlOutput>> unsubscribeYnl(UnsubscribeYnlInput input)
OdlMdsalLowlevelControlServiceunsubscribeYnl in interface OdlMdsalLowlevelControlServicepublic com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<CheckPublishNotificationsOutput>> checkPublishNotifications(CheckPublishNotificationsInput input)
OdlMdsalLowlevelControlServicecheckPublishNotifications in interface OdlMdsalLowlevelControlServicepublic com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<ProduceTransactionsOutput>> produceTransactions(ProduceTransactionsInput input)
OdlMdsalLowlevelControlServiceproduceTransactions in interface OdlMdsalLowlevelControlServicepublic com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<ShutdownShardReplicaOutput>> shutdownShardReplica(ShutdownShardReplicaInput input)
OdlMdsalLowlevelControlServiceshutdownShardReplica in interface OdlMdsalLowlevelControlServicepublic com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<ShutdownPrefixShardReplicaOutput>> shutdownPrefixShardReplica(ShutdownPrefixShardReplicaInput input)
OdlMdsalLowlevelControlServiceshutdownPrefixShardReplica in interface OdlMdsalLowlevelControlServicepublic com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<RegisterConstantOutput>> registerConstant(RegisterConstantInput input)
OdlMdsalLowlevelControlServiceregisterConstant in interface OdlMdsalLowlevelControlServicepublic com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<UnregisterDefaultConstantOutput>> unregisterDefaultConstant(UnregisterDefaultConstantInput input)
OdlMdsalLowlevelControlServiceunregisterDefaultConstant in interface OdlMdsalLowlevelControlServicepublic com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<UnsubscribeDdtlOutput>> unsubscribeDdtl(UnsubscribeDdtlInput input)
OdlMdsalLowlevelControlServiceunsubscribeDdtl in interface OdlMdsalLowlevelControlServiceCopyright © 2019 OpenDaylight. All rights reserved.