private JsonNode json(List<PacketRequest> requests) { ObjectMapper mapper = new ObjectMapper(); ArrayNode result = mapper.createArrayNode(); for (PacketRequest r : requests) { result.add(mapper.createObjectNode() .put("nodeId", r.nodeId().toString()) .put("appId", r.appId().name()) .put("priority", r.priority().toString()) .put("criteria", r.selector().criteria().toString()) .put("deviceId", r.deviceId().isPresent() ? r.deviceId().get().toString() : "ALL")); } return result; }
@Override public ObjectNode encode(PacketRequest packetRequest, CodecContext context) { checkNotNull(packetRequest, NULL_OBJECT_MSG); final JsonCodec<TrafficSelector> trafficSelectorCodec = context.codec(TrafficSelector.class); final ObjectNode result = context.mapper().createObjectNode() .put(NODE_ID, packetRequest.nodeId().toString()) .put(PRIORITY, packetRequest.priority().name()) .put(APP_ID, packetRequest.appId().toString()); if (packetRequest.deviceId().isPresent()) { result.put(DEVICE_ID, packetRequest.deviceId().get().toString()); } result.set(TRAFFIC_SELECTOR, trafficSelectorCodec.encode(packetRequest.selector(), context)); return result; }
private void print(PacketRequest request) { print(FMT, request.nodeId(), request.appId().name(), request.priority(), request.selector().criteria(), request.deviceId().isPresent() ? request.deviceId().get().toString() : "ALL"); }
private DefaultForwardingObjective.Builder createBuilder(PacketRequest request) { TrafficTreatment treatment = DefaultTrafficTreatment.builder() .punt() .wipeDeferred() .build(); return DefaultForwardingObjective.builder() .withPriority(request.priority().priorityValue()) .withSelector(request.selector()) .fromApp(appId) .withFlag(ForwardingObjective.Flag.VERSATILE) .withTreatment(treatment) .makePermanent(); }