code: public void onOOBControlMessage(IMessageComponent source, IPipe pipe, OOBControlMessage oobCtrlMsg) {
          if ("ConnectionConsumer".equals(oobCtrlMsg.getTarget())) {
              String serviceName = oobCtrlMsg.getServiceName();
              log.trace("Service name: {}", serviceName);
              if ("pendingCount".equals(serviceName)) {
                  oobCtrlMsg.setResult(conn.getPendingMessages());
              } else if ("pendingVideoCount".equals(serviceName)) {
                  IClientStream stream = conn.getStreamByChannelId(video.getId());
                  if (stream != null) {
                      oobCtrlMsg.setResult(conn.getPendingVideoMessages(stream.getStreamId()));
                  } else {
                      oobCtrlMsg.setResult(0L);
                  }
              } else if ("writeDelta".equals(serviceName)) {
                  //TODO: Revisit the max stream value later
                  long maxStream = 120 * 1024;
                  // Return the current delta between sent bytes and bytes the client
                  // reported to have received, and the interval the client should use
                  // for generating BytesRead messages (half of the allowed bandwidth).
                  oobCtrlMsg.setResult(new Long[] { conn.getWrittenBytes() - conn.getClientBytesRead(), maxStream / 2 });
              } else if ("chunkSize".equals(serviceName)) {
                  int newSize = (Integer) oobCtrlMsg.getServiceParamMap().get("chunkSize");
                  if (newSize != chunkSize) {
                      chunkSize = newSize;
                      chunkSizeSent.set(false);
                      sendChunkSize();
                  }
              }
          }
      }
docs: {@inheritDoc}