• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java DeviceService类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.onosproject.net.device.DeviceService的典型用法代码示例。如果您正苦于以下问题:Java DeviceService类的具体用法?Java DeviceService怎么用?Java DeviceService使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



DeviceService类属于org.onosproject.net.device包,在下文中一共展示了DeviceService类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: complete

import org.onosproject.net.device.DeviceService; //导入依赖的package包/类
@Override
public int complete(String buffer, int cursor, List<String> candidates) {
    // Delegate string completer
    StringsCompleter delegate = new StringsCompleter();

    // Fetch our service and feed it's offerings to the string completer
    DeviceService service = AbstractShellCommand.get(DeviceService.class);

    // Generate the device ID/port number identifiers
    for (Device device : service.getDevices()) {
        SortedSet<String> strings = delegate.getStrings();
        for (Port port : service.getPorts(device.id())) {
            if (!port.number().isLogical()) {
                strings.add(device.id().toString() + "/" + port.number());
            }
        }
    }

    // Now let the completer do the work for figuring out what to offer.
    return delegate.complete(buffer, cursor, candidates);
}
 
开发者ID:shlee89,项目名称:athena,代码行数:22,代码来源:ConnectPointCompleter.java


示例2: printDevice

import org.onosproject.net.device.DeviceService; //导入依赖的package包/类
private void printDevice(DeviceService deviceService,
                         DriverService driverService,
                         Device device) {
    super.printDevice(deviceService, device);
    if (!device.is(InterfaceConfig.class)) {
        // The relevant behavior is not supported by the device.
        print(ERROR_RESULT);
        return;
    }
    DriverHandler h = driverService.createHandler(device.id());
    InterfaceConfig interfaceConfig = h.behaviour(InterfaceConfig.class);

    List<DeviceInterfaceDescription> interfaces =
            interfaceConfig.getInterfaces(device.id());
    if (interfaces == null) {
        print(ERROR_RESULT);
    } else if (interfaces.isEmpty()) {
        print(NO_INTERFACES);
    } else {
        interfaces.forEach(this::printInterface);
    }
}
 
开发者ID:shlee89,项目名称:athena,代码行数:23,代码来源:DeviceInterfacesListCommand.java


示例3: getTableStatistics

import org.onosproject.net.device.DeviceService; //导入依赖的package包/类
/**
 * Gets table statistics for all tables of all devices.
 *
 * @onos.rsModel StatisticsFlowsTables
 * @return 200 OK with JSON encoded array of table statistics
 */
@GET
@Path("flows/tables")
@Produces(MediaType.APPLICATION_JSON)
public Response getTableStatistics() {
    final FlowRuleService service = get(FlowRuleService.class);
    final Iterable<Device> devices = get(DeviceService.class).getDevices();
    final ObjectNode root = mapper().createObjectNode();
    final ArrayNode rootArrayNode = root.putArray("statistics");
    for (final Device device : devices) {
        final ObjectNode deviceStatsNode = mapper().createObjectNode();
        deviceStatsNode.put("device", device.id().toString());
        final ArrayNode statisticsNode = deviceStatsNode.putArray("table");
        final Iterable<TableStatisticsEntry> tableStatsEntries = service.getFlowTableStatistics(device.id());
        if (tableStatsEntries != null) {
            for (final TableStatisticsEntry entry : tableStatsEntries) {
                statisticsNode.add(codec(TableStatisticsEntry.class).encode(entry, this));
            }
        }
        rootArrayNode.add(deviceStatsNode);
    }

    return ok(root).build();
}
 
开发者ID:shlee89,项目名称:athena,代码行数:30,代码来源:StatisticsWebResource.java


示例4: getPortStatistics

import org.onosproject.net.device.DeviceService; //导入依赖的package包/类
/**
 * Gets port statistics of all devices.
 * @onos.rsModel StatisticsPorts
 * @return 200 OK with JSON encoded array of port statistics
 */
@GET
@Path("ports")
@Produces(MediaType.APPLICATION_JSON)
public Response getPortStatistics() {
    final DeviceService service = get(DeviceService.class);
    final Iterable<Device> devices = service.getDevices();
    final ObjectNode root = mapper().createObjectNode();
    final ArrayNode rootArrayNode = root.putArray("statistics");
    for (final Device device : devices) {
        final ObjectNode deviceStatsNode = mapper().createObjectNode();
        deviceStatsNode.put("device", device.id().toString());
        final ArrayNode statisticsNode = deviceStatsNode.putArray("ports");
        final Iterable<PortStatistics> portStatsEntries = service.getPortStatistics(device.id());
        if (portStatsEntries != null) {
            for (final PortStatistics entry : portStatsEntries) {
                statisticsNode.add(codec(PortStatistics.class).encode(entry, this));
            }
        }
        rootArrayNode.add(deviceStatsNode);
    }

    return ok(root).build();
}
 
开发者ID:shlee89,项目名称:athena,代码行数:29,代码来源:StatisticsWebResource.java


示例5: getPortStatisticsByDeviceId

import org.onosproject.net.device.DeviceService; //导入依赖的package包/类
/**
 * Gets port statistics of a specified devices.
 * @onos.rsModel StatisticsPorts
 * @param deviceId device ID
 * @return 200 OK with JSON encoded array of port statistics
 */
@GET
@Path("ports/{deviceId}")
@Produces(MediaType.APPLICATION_JSON)
public Response getPortStatisticsByDeviceId(@PathParam("deviceId") String deviceId) {
    final DeviceService service = get(DeviceService.class);
    final Iterable<PortStatistics> portStatsEntries =
            service.getPortStatistics(DeviceId.deviceId(deviceId));
    final ObjectNode root = mapper().createObjectNode();
    final ArrayNode rootArrayNode = root.putArray("statistics");
    final ObjectNode deviceStatsNode = mapper().createObjectNode();
    deviceStatsNode.put("device", deviceId);
    final ArrayNode statisticsNode = deviceStatsNode.putArray("ports");
    if (portStatsEntries != null) {
        for (final PortStatistics entry : portStatsEntries) {
            statisticsNode.add(codec(PortStatistics.class).encode(entry, this));
        }
    }
    rootArrayNode.add(deviceStatsNode);

    return ok(root).build();
}
 
开发者ID:shlee89,项目名称:athena,代码行数:28,代码来源:StatisticsWebResource.java


示例6: getFlows

import org.onosproject.net.device.DeviceService; //导入依赖的package包/类
/**
 * Gets all flow entries. Returns array of all flow rules in the system.
 *
 * @return 200 OK with a collection of flows
 * @onos.rsModel FlowEntries
 */
@GET
@Produces(MediaType.APPLICATION_JSON)
public Response getFlows() {
    final Iterable<Device> devices = get(DeviceService.class).getDevices();
    for (final Device device : devices) {
        final Iterable<FlowEntry> flowEntries = service.getFlowEntries(device.id());
        if (flowEntries != null) {
            for (final FlowEntry entry : flowEntries) {
                flowsNode.add(codec(FlowEntry.class).encode(entry, this));
            }
        }
    }

    return ok(root).build();
}
 
开发者ID:shlee89,项目名称:athena,代码行数:22,代码来源:FlowsWebResource.java


示例7: setUpMocks

import org.onosproject.net.device.DeviceService; //导入依赖的package包/类
/**
 * Initializes test mocks and environment.
 */
@Before
public void setUpMocks() {
    mockDeviceService = createMock(DeviceService.class);

    expect(mockDeviceService.isAvailable(isA(DeviceId.class)))
            .andReturn(true)
            .anyTimes();
    expect(mockDeviceService.getRole(isA(DeviceId.class)))
            .andReturn(MastershipRole.MASTER)
            .anyTimes();

    // Register the services needed for the test
    CodecManager codecService =  new CodecManager();
    codecService.activate();
    ServiceDirectory testDirectory =
            new TestServiceDirectory()
                    .add(DeviceService.class, mockDeviceService)
                    .add(CodecService.class, codecService);

    BaseResource.setServiceDirectory(testDirectory);
}
 
开发者ID:shlee89,项目名称:athena,代码行数:25,代码来源:DevicesResourceTest.java


示例8: populateRow

import org.onosproject.net.device.DeviceService; //导入依赖的package包/类
private void populateRow(TableModel.Row row, Device dev,
                         DeviceService ds, MastershipService ms) {
    DeviceId id = dev.id();
    boolean available = ds.isAvailable(id);
    String iconId = available ? ICON_ID_ONLINE : ICON_ID_OFFLINE;

    row.cell(ID, id)
        .cell(NAME, deviceName(dev))
        .cell(AVAILABLE, available)
        .cell(AVAILABLE_IID, iconId)
        .cell(TYPE_IID, getTypeIconId(dev))
        .cell(MFR, dev.manufacturer())
        .cell(HW, dev.hwVersion())
        .cell(SW, dev.swVersion())
        .cell(PROTOCOL, deviceProtocol(dev))
        .cell(NUM_PORTS, ds.getPorts(id).size())
        .cell(MASTER_ID, ms.getMasterFor(id));
}
 
开发者ID:shlee89,项目名称:athena,代码行数:19,代码来源:DeviceViewMessageHandler.java


示例9: ServicesBundle

import org.onosproject.net.device.DeviceService; //导入依赖的package包/类
/**
 * Creates the services bundle.
 *
 * @param intentService     intent service reference
 * @param deviceService     device service reference
 * @param hostService       host service reference
 * @param linkService       link service reference
 * @param flowService       flow service reference
 * @param flowStatsService  flow statistics service reference
 * @param portStatsService  port statistics service reference
 */
public ServicesBundle(IntentService intentService,
                      DeviceService deviceService,
                      HostService hostService,
                      LinkService linkService,
                      FlowRuleService flowService,
                      StatisticService flowStatsService,
                      PortStatisticsService portStatsService) {
    this.intentService = checkNotNull(intentService);
    this.deviceService = checkNotNull(deviceService);
    this.hostService = checkNotNull(hostService);
    this.linkService = checkNotNull(linkService);
    this.flowService = checkNotNull(flowService);
    this.flowStatsService = checkNotNull(flowStatsService);
    this.portStatsService = checkNotNull(portStatsService);
}
 
开发者ID:shlee89,项目名称:athena,代码行数:27,代码来源:ServicesBundle.java


示例10: init

import org.onosproject.net.device.DeviceService; //导入依赖的package包/类
@Override
public void init(UiConnection connection, ServiceDirectory directory) {
    super.init(connection, directory);
    this.directory = checkNotNull(directory, "Directory cannot be null");
    clusterService = directory.get(ClusterService.class);
    deviceService = directory.get(DeviceService.class);
    linkService = directory.get(LinkService.class);
    hostService = directory.get(HostService.class);
    mastershipService = directory.get(MastershipService.class);
    intentService = directory.get(IntentService.class);
    flowService = directory.get(FlowRuleService.class);
    flowStatsService = directory.get(StatisticService.class);
    portStatsService = directory.get(PortStatisticsService.class);
    topologyService = directory.get(TopologyService.class);
    tunnelService = directory.get(TunnelService.class);

    servicesBundle = new ServicesBundle(intentService, deviceService,
                                        hostService, linkService,
                                        flowService,
                                        flowStatsService, portStatsService);

    String ver = directory.get(CoreService.class).version().toString();
    version = ver.replace(".SNAPSHOT", "*").replaceFirst("~.*$", "");
}
 
开发者ID:shlee89,项目名称:athena,代码行数:25,代码来源:TopologyViewMessageHandlerBase.java


示例11: init

import org.onosproject.net.device.DeviceService; //导入依赖的package包/类
@Override
public void init(DeviceId deviceId, PipelinerContext context) {
    this.deviceId = deviceId;

    // Initialize OFDPA group handler
    groupHandler = new CpqdOfdpa2GroupHandler();
    groupHandler.init(deviceId, context);

    serviceDirectory = context.directory();
    coreService = serviceDirectory.get(CoreService.class);
    flowRuleService = serviceDirectory.get(FlowRuleService.class);
    groupService = serviceDirectory.get(GroupService.class);
    flowObjectiveStore = context.store();
    deviceService = serviceDirectory.get(DeviceService.class);

    driverId = coreService.registerApplication(
            "org.onosproject.driver.CpqdOfdpa2Pipeline");

    initializePipeline();
}
 
开发者ID:shlee89,项目名称:athena,代码行数:21,代码来源:CpqdOfdpa2Pipeline.java


示例12: init

import org.onosproject.net.device.DeviceService; //导入依赖的package包/类
@Override
public void init(DeviceId deviceId, PipelinerContext context) {
    this.deviceId = deviceId;

    // Initialize OFDPA group handler
    groupHandler = new Ofdpa2GroupHandler();
    groupHandler.init(deviceId, context);

    serviceDirectory = context.directory();
    coreService = serviceDirectory.get(CoreService.class);
    flowRuleService = serviceDirectory.get(FlowRuleService.class);
    groupService = serviceDirectory.get(GroupService.class);
    flowObjectiveStore = context.store();
    deviceService = serviceDirectory.get(DeviceService.class);

    driverId = coreService.registerApplication(
            "org.onosproject.driver.Ofdpa2Pipeline");

    initializePipeline();
}
 
开发者ID:shlee89,项目名称:athena,代码行数:21,代码来源:Ofdpa2Pipeline.java


示例13: init

import org.onosproject.net.device.DeviceService; //导入依赖的package包/类
@Override
public void init(DeviceId deviceId, PipelinerContext context) {
    this.deviceId = deviceId;

    // Initialize OFDPA group handler
    groupHandler = new CpqdOfdpa2GroupHandler();
    groupHandler.init(deviceId, context);

    serviceDirectory = context.directory();
    coreService = serviceDirectory.get(CoreService.class);
    flowRuleService = serviceDirectory.get(FlowRuleService.class);
    groupService = serviceDirectory.get(GroupService.class);
    flowObjectiveStore = context.store();
    deviceService = serviceDirectory.get(DeviceService.class);

    driverId = coreService.registerApplication(
            "org.onosproject.driver.CpqdOfdpa2VlanPipeline");

    initializePipeline();
}
 
开发者ID:shlee89,项目名称:athena,代码行数:21,代码来源:CpqdOfdpa2VlanPipeline.java


示例14: queryLambdas

import org.onosproject.net.device.DeviceService; //导入依赖的package包/类
@Override
public Set<OchSignal> queryLambdas(PortNumber port) {
    DeviceService deviceService = opticalView(this.handler().get(DeviceService.class));
    Port p = deviceService.getPort(this.data().deviceId(), port);

    // Only OMS ports expose lambda resources
    if (!p.type().equals(Port.Type.OMS)) {
        return Collections.emptySet();
    }

    short lambdaCount = ((OmsPort) p).totalChannels();
    // OMS ports expose 'lambdaCount' fixed grid lambdas of 50GHz width, starting from min-frequency 191.7 THz.
    return IntStream.rangeClosed(1, lambdaCount)
            .mapToObj(x -> OchSignal.newDwdmSlot(ChannelSpacing.CHL_50GHZ, x))
            .collect(Collectors.toSet());
}
 
开发者ID:shlee89,项目名称:athena,代码行数:17,代码来源:OFOpticalSwitch13LambdaQuery.java


示例15: discoverDeviceDetails

import org.onosproject.net.device.DeviceService; //导入依赖的package包/类
@Override
public DeviceDescription discoverDeviceDetails() {
    SnmpController controller = checkNotNull(handler().get(SnmpController.class));
    DeviceId deviceId = handler().data().deviceId();
    SnmpDevice snmpDevice = controller.getDevice(deviceId);
    DeviceService deviceService = checkNotNull(handler().get(DeviceService.class));
    Device device = deviceService.getDevice(deviceId);
    DeviceDescription desc = null;
    String ipAddress = snmpDevice.getSnmpHost();
    int port = snmpDevice.getSnmpPort();

    ISnmpConfiguration config = new V2cSnmpConfiguration();
    config.setPort(port);

    try (ISnmpSession session = controller.getSession(deviceId)) {
        // Each session will be auto-closed.
        String deviceOid = session.identifyDevice();
        desc = populateDescription(session, device);

    } catch (IOException | RuntimeException ex) {
        log.error("Failed to walk device.", ex.getMessage());
        log.debug("Detailed problem was ", ex);
    }
    return desc;
}
 
开发者ID:shlee89,项目名称:athena,代码行数:26,代码来源:Bti7000DeviceDescriptor.java


示例16: start

import org.onosproject.net.device.DeviceService; //导入依赖的package包/类
/**
 * Starts the mutation process.
 *
 * @param mutationRate          link events per second
 * @param linkService           link service
 * @param deviceService         device service
 * @param linkProviderService   link provider service
 * @param deviceProviderService device provider service
 * @param simulator             topology simulator
 */
void start(double mutationRate,
           LinkService linkService, DeviceService deviceService,
           LinkProviderService linkProviderService,
           DeviceProviderService deviceProviderService,
           TopologySimulator simulator) {
    savedLinks.clear();
    stopped = false;
    this.linkService = linkService;
    this.deviceService = deviceService;
    this.linkProviderService = linkProviderService;
    this.deviceProviderService = deviceProviderService;
    this.simulator = simulator;
    activeLinks = reduceLinks();
    inactiveLinks = Lists.newArrayList();
    adjustRate(mutationRate);
    executor.execute(this);
}
 
开发者ID:shlee89,项目名称:athena,代码行数:28,代码来源:TopologyMutationDriver.java


示例17: execute

import org.onosproject.net.device.DeviceService; //导入依赖的package包/类
@Override
protected void execute() {
    DeviceService deviceService = get(DeviceService.class);
    CoreService coreService = get(CoreService.class);
    FlowRuleService flowRuleService = get(FlowRuleService.class);
    ApplicationId appId = coreService.registerApplication("eval.add.dummy");

    Iterable<Device> devices = deviceService.getDevices();

    for (Device d : devices) {
        for (FlowEntry r : flowRuleService.getFlowEntries(d.id())) {
            if (r.appId() == appId.id()) {
                flowRuleService.removeFlowRules((FlowRule) r);
            }
        }
    }
}
 
开发者ID:shlee89,项目名称:athena,代码行数:18,代码来源:RemoveDummyFlowsCommand.java


示例18: execute

import org.onosproject.net.device.DeviceService; //导入依赖的package包/类
@Override
protected void execute() {
    CoreService coreService = get(CoreService.class);
    DeviceService deviceService = get(DeviceService.class);
    FlowRuleService service = get(FlowRuleService.class);

    compilePredicate();

    SortedMap<Device, List<FlowEntry>> flows = getSortedFlows(deviceService, service, coreService);

    if (outputJson()) {
        print("%s", json(flows.keySet(), flows));
    } else {
        flows.forEach((device, flow) -> printFlows(device, flow, coreService));
    }
}
 
开发者ID:shlee89,项目名称:athena,代码行数:17,代码来源:FlowsListCommand.java


示例19: execute

import org.onosproject.net.device.DeviceService; //导入依赖的package包/类
@Override
protected void execute() {
    DeviceService deviceService = get(DeviceService.class);
    DeviceAdminService deviceAdminService = get(DeviceAdminService.class);
    Device dev = deviceService.getDevice(DeviceId.deviceId(uri));
    if (dev == null) {
        print(" %s", "Device does not exist");
        return;
    }
    PortNumber pnum = PortNumber.portNumber(portNumber);
    Port p = deviceService.getPort(dev.id(), pnum);
    if (p == null) {
        print(" %s", "Port does not exist");
        return;
    }
    if (portState.equals("enable")) {
        deviceAdminService.changePortState(dev.id(), pnum, true);
    } else if (portState.equals("disable")) {
        deviceAdminService.changePortState(dev.id(), pnum, false);
    } else {
        print(" %s", "State must be enable or disable");
    }
}
 
开发者ID:shlee89,项目名称:athena,代码行数:24,代码来源:DevicePortStateCommand.java


示例20: printDevice

import org.onosproject.net.device.DeviceService; //导入依赖的package包/类
/**
 * Prints information about the specified device.
 *
 * @param deviceService device service
 * @param device        infrastructure device
 */
protected void printDevice(DeviceService deviceService, Device device) {
    if (device != null) {
        String driver = get(DriverService.class).getDriver(device.id()).name();
        if (shortOnly) {
            print(FMT_SHORT, device.id(), deviceService.isAvailable(device.id()),
                  deviceService.getRole(device.id()), device.type(), driver);
        } else {
            print(FMT, device.id(), deviceService.isAvailable(device.id()),
                  deviceService.getRole(device.id()), device.type(),
                  device.manufacturer(), device.hwVersion(), device.swVersion(),
                  device.serialNumber(), driver,
                  annotations(device.annotations(), ImmutableSet.of(AnnotationKeys.DRIVER)));
        }
    }
}
 
开发者ID:shlee89,项目名称:athena,代码行数:22,代码来源:DevicesListCommand.java



注:本文中的org.onosproject.net.device.DeviceService类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java Args类代码示例发布时间:2022-05-22
下一篇:
Java SQLiteException类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap