code: function postMessage(channelState, messageJson) {
      const writePromise = writeMessage(
          channelState.channelName,
          channelState.uuid,
          messageJson,
          channelState.paths
      );
      channelState.writeBlockPromise = channelState.writeBlockPromise.then(async () => {
  
          // w8 one tick to let the buffer flush
          await new Promise(res => setTimeout(res, 0));
  
          const [msgObj] = await Promise.all([
              writePromise,
              refreshReaderClients(channelState)
          ]);
          emitOverFastPath(channelState, msgObj, messageJson);
          const pingStr = '{"t":' + msgObj.time + ',"u":"' + msgObj.uuid + '","to":"' + msgObj.token + '"}|';
  
          const writeToReadersPromise = Promise.all(
              Object.values(channelState.otherReaderClients)
              .filter(client => client.writable) // client might have closed in between
              .map(client => {
                  return new Promise(res => {
                      client.write(pingStr, res);
                  });
              })
          );
  
          /**
           * clean up old messages
           * to not waste resources on cleaning up,
           * only if random-int matches, we clean up old messages
           */
          if (randomInt(0, 20) === 0) {
              /* await */
              getAllMessages(channelState.channelName, channelState.paths)
                  .then(allMessages => cleanOldMessages(allMessages, channelState.options.node.ttl));
          }
  
          return writeToReadersPromise;
      });
  
      return channelState.writeBlockPromise;
  }
docs: post a message to the other readers
  @return {Promise<void>}