+ LOGGER.debug("hello msg sent");\r
+ GetFeaturesInput featuresInput = featuresBuilder.build();\r
+ try {\r
+ LOGGER.debug("Going to send featuresRequest");\r
+ RpcResult<GetFeaturesOutput> rpcResult = adapter.getFeatures(\r
+ featuresInput).get(2500, TimeUnit.MILLISECONDS);\r
+ if (rpcResult.isSuccessful()) {\r
+ byte[] byteArray = rpcResult.getResult().getDatapathId()\r
+ .toByteArray();\r
+ LOGGER.debug("DatapathId: " + Arrays.toString(byteArray));\r
+ } else {\r
+ RpcError rpcError = rpcResult.getErrors().iterator().next();\r
+ LOGGER.warn("rpcResult failed: "\r
+ + rpcError.getCause().getMessage(), rpcError.getCause());\r
+ }\r
+ } catch (InterruptedException | ExecutionException | TimeoutException e) {\r
+ LOGGER.error(e.getMessage(), e);\r
+ }\r
+ LOGGER.info("After FeaturesReply message - disconnecting");\r
+ adapter.disconnect();\r
+ finishedFuture.set(null);\r