本文整理汇总了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;未经允许,请勿转载。 |
请发表评论