*/
package org.opendaylight.controller.config.yang.md.sal.dom.impl;
+import com.google.common.base.Preconditions;
import com.google.common.collect.ClassToInstanceMap;
import com.google.common.collect.MutableClassToInstanceMap;
+import java.util.concurrent.TimeUnit;
import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker;
import org.opendaylight.controller.md.sal.dom.api.DOMMountPointService;
import org.opendaylight.controller.md.sal.dom.api.DOMNotificationPublishService;
import org.opendaylight.controller.md.sal.dom.api.DOMRpcService;
import org.opendaylight.controller.md.sal.dom.broker.impl.DOMNotificationRouter;
import org.opendaylight.controller.md.sal.dom.broker.impl.DOMRpcRouter;
-import org.opendaylight.controller.md.sal.dom.broker.impl.compat.BackwardsCompatibleDataBroker;
import org.opendaylight.controller.md.sal.dom.broker.impl.mount.DOMMountPointServiceImpl;
import org.opendaylight.controller.sal.core.api.BrokerService;
-import org.opendaylight.controller.sal.core.api.RpcProvisionRegistry;
-import org.opendaylight.controller.sal.core.api.data.DataBrokerService;
-import org.opendaylight.controller.sal.core.api.data.DataProviderService;
import org.opendaylight.controller.sal.core.api.model.SchemaService;
-import org.opendaylight.controller.sal.core.api.mount.MountProvisionService;
-import org.opendaylight.controller.sal.core.api.mount.MountService;
-import org.opendaylight.controller.sal.dom.broker.BackwardsCompatibleMountPointManager;
import org.opendaylight.controller.sal.dom.broker.BrokerImpl;
import org.opendaylight.controller.sal.dom.broker.GlobalBundleScanningSchemaServiceImpl;
-import org.opendaylight.controller.sal.dom.broker.impl.SchemaAwareRpcBroker;
-import org.opendaylight.controller.sal.dom.broker.impl.SchemaContextProviders;
-/**
-*
-*/
public final class DomBrokerImplModule extends org.opendaylight.controller.config.yang.md.sal.dom.impl.AbstractDomBrokerImplModule
{
}
@Override
- public void validate(){
+ public void validate() {
super.validate();
+ final long depth = getNotificationQueueDepth().getValue();
+ Preconditions.checkArgument(Long.lowestOneBit(depth) == Long.highestOneBit(depth), "Queue depth %s is not power-of-two", depth);
}
@Override
final ClassToInstanceMap<BrokerService> services = MutableClassToInstanceMap.create();
- // TODO: retrieve from config subsystem
- final int queueDepth = 1024;
-
- final DOMNotificationRouter domNotificationRouter = DOMNotificationRouter.create(queueDepth);
+ final DOMNotificationRouter domNotificationRouter = DOMNotificationRouter.create(getNotificationQueueDepth().getValue().intValue(),
+ getNotificationQueueSpin().longValue(), getNotificationQueuePark().longValue(), TimeUnit.MILLISECONDS);
services.putInstance(DOMNotificationService.class, domNotificationRouter);
services.putInstance(DOMNotificationPublishService.class, domNotificationRouter);
final SchemaService schemaService = getSchemaServiceImpl();
services.putInstance(SchemaService.class, schemaService);
- final SchemaAwareRpcBroker router = new SchemaAwareRpcBroker("/", SchemaContextProviders
- .fromSchemaService(schemaService));
- services.putInstance(RpcProvisionRegistry.class, router);
services.putInstance(DOMDataBroker.class, asyncBroker);
- final DataProviderService legacyData = new BackwardsCompatibleDataBroker(asyncBroker,schemaService);
- services.putInstance(DataProviderService.class,legacyData);
- services.putInstance(DataBrokerService.class, legacyData);
final DOMRpcRouter rpcRouter = new DOMRpcRouter();
schemaService.registerSchemaContextListener(rpcRouter);
final DOMMountPointService mountService = new DOMMountPointServiceImpl();
services.putInstance(DOMMountPointService.class, mountService);
- // TODO remove backwards service, use only new DOMMountPointService
- final MountProvisionService backwardsMountService = new BackwardsCompatibleMountPointManager(mountService);
- services.putInstance(MountService.class, backwardsMountService);
- services.putInstance(MountProvisionService.class, backwardsMountService);
-
- return new BrokerImpl(router, services);
+ return new BrokerImpl(rpcRouter, services);
}
private SchemaService getSchemaServiceImpl() {