code: @Override
      public void onFragment(DirectBuffer buffer, int offset, int length, Header header) {
          if (buffer != null && length > 0) {
              ByteBuffer byteBuffer = buffer.byteBuffer().order(ByteOrder.nativeOrder());
              byteBuffer.position(offset);
              byte[] b = new byte[length];
              byteBuffer.get(b);
              String hostPort = new String(b);
              System.out.println("Host port " + hostPort + " offset " + offset + " length " + length);
              String[] split = hostPort.split(":");
              if (split == null || split.length != 3) {
                  System.err.println("no host port stream found");
                  return;
              }
  
              int port = Integer.parseInt(split[1]);
              int streamToPublish = Integer.parseInt(split[2]);
              String channel = AeronUtil.aeronChannel(split[0], port);
              INDArray arrGet = holder.get();
              AeronNDArrayPublisher publisher = AeronNDArrayPublisher.builder().streamId(streamToPublish).aeron(aeron)
                              .channel(channel).build();
              try {
                  publisher.publish(arrGet);
              } catch (Exception e) {
                  e.printStackTrace();
              }
  
              try {
                  publisher.close();
              } catch (Exception e) {
  
              }
          }
      }
docs: Callback for handling fragments of data being read from a log.
  
  @param buffer containing the data.
  @param offset at which the data begins.
  @param length of the data in bytes.
  @param header representing the meta data for the data.