private static void testCallbackFacade() throws Exception {
System.out.println("Testing CallbackJVppFacade for notifications");
- final JVppRegistry registry = new JVppRegistryImpl("CallbackFacadeTest");
- final JVppCore jvpp = new JVppCoreImpl();
+ try (final JVppRegistry registry = new JVppRegistryImpl("CallbackFacadeTest");
+ final JVppCore jvpp = new JVppCoreImpl()) {
+ final CallbackJVppCoreFacade jvppCallbackFacade = new CallbackJVppCoreFacade(registry, jvpp);
+ System.out.println("Successfully connected to VPP");
- CallbackJVppCoreFacade jvppCallbackFacade = new CallbackJVppCoreFacade(registry, jvpp);
- System.out.println("Successfully connected to VPP");
-
- final AutoCloseable notificationListenerReg =
+ final AutoCloseable notificationListenerReg =
jvppCallbackFacade.getNotificationRegistry().registerSwInterfaceSetFlagsNotificationCallback(
- NotificationUtils::printNotification
+ NotificationUtils::printNotification
);
- jvppCallbackFacade.wantInterfaceEvents(NotificationUtils.getEnableInterfaceNotificationsReq(),
+ jvppCallbackFacade.wantInterfaceEvents(NotificationUtils.getEnableInterfaceNotificationsReq(),
new WantInterfaceEventsCallback() {
@Override
public void onWantInterfaceEventsReply(final WantInterfaceEventsReply reply) {
@Override
public void onError(final VppCallbackException ex) {
System.out.printf("Received onError exception: call=%s, context=%d, retval=%d%n",
- ex.getMethodName(), ex.getCtxId(), ex.getErrorCode());
+ ex.getMethodName(), ex.getCtxId(), ex.getErrorCode());
}
});
- System.out.println("Changing interface configuration");
- NotificationUtils.getChangeInterfaceState().send(jvpp);
+ System.out.println("Changing interface configuration");
+ NotificationUtils.getChangeInterfaceState().send(jvpp);
- Thread.sleep(1000);
+ Thread.sleep(1000);
- jvppCallbackFacade.wantInterfaceEvents(NotificationUtils.getDisableInterfaceNotificationsReq(),
+ jvppCallbackFacade.wantInterfaceEvents(NotificationUtils.getDisableInterfaceNotificationsReq(),
new WantInterfaceEventsCallback() {
@Override
public void onWantInterfaceEventsReply(final WantInterfaceEventsReply reply) {
@Override
public void onError(final VppCallbackException ex) {
System.out.printf("Received onError exception: call=%s, context=%d, retval=%d%n",
- ex.getMethodName(), ex.getCtxId(), ex.getErrorCode());
+ ex.getMethodName(), ex.getCtxId(), ex.getErrorCode());
}
});
- notificationListenerReg.close();
-
- Thread.sleep(2000);
+ notificationListenerReg.close();
- System.out.println("Disconnecting...");
- registry.close();
+ Thread.sleep(2000);
+ System.out.println("Disconnecting...");
+ }
Thread.sleep(1000);
}