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)
OdlMdsalLowlevelControlService
unregisterSingletonConstant
in interface OdlMdsalLowlevelControlService
public com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<StartPublishNotificationsOutput>> startPublishNotifications(StartPublishNotificationsInput input)
OdlMdsalLowlevelControlService
startPublishNotifications
in interface OdlMdsalLowlevelControlService
public com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<SubscribeDtclOutput>> subscribeDtcl(SubscribeDtclInput input)
OdlMdsalLowlevelControlService
subscribeDtcl
in interface OdlMdsalLowlevelControlService
public com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<WriteTransactionsOutput>> writeTransactions(WriteTransactionsInput input)
OdlMdsalLowlevelControlService
writeTransactions
in interface OdlMdsalLowlevelControlService
public com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<IsClientAbortedOutput>> isClientAborted(IsClientAbortedInput input)
OdlMdsalLowlevelControlService
isClientAborted
in interface OdlMdsalLowlevelControlService
com.google.common.util.concurrent.ListenableFuture
clientAborted
, or null
if not presentpublic com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<RemoveShardReplicaOutput>> removeShardReplica(RemoveShardReplicaInput input)
OdlMdsalLowlevelControlService
removeShardReplica
in interface OdlMdsalLowlevelControlService
public com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<SubscribeYnlOutput>> subscribeYnl(SubscribeYnlInput input)
OdlMdsalLowlevelControlService
subscribeYnl
in interface OdlMdsalLowlevelControlService
public com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<RemovePrefixShardOutput>> removePrefixShard(RemovePrefixShardInput input)
OdlMdsalLowlevelControlService
removePrefixShard
in interface OdlMdsalLowlevelControlService
public com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<BecomePrefixLeaderOutput>> becomePrefixLeader(BecomePrefixLeaderInput input)
OdlMdsalLowlevelControlService
becomePrefixLeader
in interface OdlMdsalLowlevelControlService
public com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<UnregisterBoundConstantOutput>> unregisterBoundConstant(UnregisterBoundConstantInput input)
OdlMdsalLowlevelControlService
unregisterBoundConstant
in interface OdlMdsalLowlevelControlService
public com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<RegisterSingletonConstantOutput>> registerSingletonConstant(RegisterSingletonConstantInput input)
OdlMdsalLowlevelControlService
registerSingletonConstant
in interface OdlMdsalLowlevelControlService
public com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<RegisterDefaultConstantOutput>> registerDefaultConstant(RegisterDefaultConstantInput input)
OdlMdsalLowlevelControlService
registerDefaultConstant
in interface OdlMdsalLowlevelControlService
public com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<UnregisterConstantOutput>> unregisterConstant(UnregisterConstantInput input)
OdlMdsalLowlevelControlService
unregisterConstant
in interface OdlMdsalLowlevelControlService
public com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<UnregisterFlappingSingletonOutput>> unregisterFlappingSingleton(UnregisterFlappingSingletonInput input)
OdlMdsalLowlevelControlService
unregisterFlappingSingleton
in interface OdlMdsalLowlevelControlService
public com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<AddShardReplicaOutput>> addShardReplica(AddShardReplicaInput input)
OdlMdsalLowlevelControlService
addShardReplica
in interface OdlMdsalLowlevelControlService
public com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<SubscribeDdtlOutput>> subscribeDdtl(SubscribeDdtlInput input)
OdlMdsalLowlevelControlService
subscribeDdtl
in interface OdlMdsalLowlevelControlService
public com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<RegisterBoundConstantOutput>> registerBoundConstant(RegisterBoundConstantInput input)
OdlMdsalLowlevelControlService
registerBoundConstant
in interface OdlMdsalLowlevelControlService
public com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<RegisterFlappingSingletonOutput>> registerFlappingSingleton(RegisterFlappingSingletonInput input)
OdlMdsalLowlevelControlService
registerFlappingSingleton
in interface OdlMdsalLowlevelControlService
public com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<UnsubscribeDtclOutput>> unsubscribeDtcl(UnsubscribeDtclInput input)
OdlMdsalLowlevelControlService
unsubscribeDtcl
in interface OdlMdsalLowlevelControlService
public com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<CreatePrefixShardOutput>> createPrefixShard(CreatePrefixShardInput input)
OdlMdsalLowlevelControlService
createPrefixShard
in interface OdlMdsalLowlevelControlService
public com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<DeconfigureIdIntsShardOutput>> deconfigureIdIntsShard(DeconfigureIdIntsShardInput input)
OdlMdsalLowlevelControlService
deconfigureIdIntsShard
in interface OdlMdsalLowlevelControlService
public com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<UnsubscribeYnlOutput>> unsubscribeYnl(UnsubscribeYnlInput input)
OdlMdsalLowlevelControlService
unsubscribeYnl
in interface OdlMdsalLowlevelControlService
public com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<CheckPublishNotificationsOutput>> checkPublishNotifications(CheckPublishNotificationsInput input)
OdlMdsalLowlevelControlService
checkPublishNotifications
in interface OdlMdsalLowlevelControlService
public com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<ProduceTransactionsOutput>> produceTransactions(ProduceTransactionsInput input)
OdlMdsalLowlevelControlService
produceTransactions
in interface OdlMdsalLowlevelControlService
public com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<ShutdownShardReplicaOutput>> shutdownShardReplica(ShutdownShardReplicaInput input)
OdlMdsalLowlevelControlService
shutdownShardReplica
in interface OdlMdsalLowlevelControlService
public com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<ShutdownPrefixShardReplicaOutput>> shutdownPrefixShardReplica(ShutdownPrefixShardReplicaInput input)
OdlMdsalLowlevelControlService
shutdownPrefixShardReplica
in interface OdlMdsalLowlevelControlService
public com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<RegisterConstantOutput>> registerConstant(RegisterConstantInput input)
OdlMdsalLowlevelControlService
registerConstant
in interface OdlMdsalLowlevelControlService
public com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<UnregisterDefaultConstantOutput>> unregisterDefaultConstant(UnregisterDefaultConstantInput input)
OdlMdsalLowlevelControlService
unregisterDefaultConstant
in interface OdlMdsalLowlevelControlService
public com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<UnsubscribeDdtlOutput>> unsubscribeDdtl(UnsubscribeDdtlInput input)
OdlMdsalLowlevelControlService
unsubscribeDdtl
in interface OdlMdsalLowlevelControlService
Copyright © 2019 OpenDaylight. All rights reserved.