+ final CommandReader commandReader = commandReaderFactory.create(socketInputStreamReader, socketOutputStreamWriter);
+ eventBus.register(commandReader);
+ commandReader.addListener(new Listener() {
+
+ @Override
+ public void starting() {
+ }
+
+ @Override
+ public void running() {
+ }
+
+ @Override
+ public void stopping(State from) {
+ }
+
+ @Override
+ public void terminated(State from) {
+ eventBus.unregister(commandReader);
+ }
+
+ @Override
+ public void failed(State from, Throwable failure) {
+ eventBus.unregister(commandReader);
+ }
+ }, MoreExecutors.sameThreadExecutor());
+ commandReader.start();