public async sendMessage()

in src/sinks/connections/TcpClient.ts [49:72]


  public async sendMessage(message: Buffer): Promise<void> {
    // ensure the socket is open and writable
    await this.waitForOpenConnection();

    await new Promise((resolve, reject) => {
      const onSendError = (err: Error): void => {
        LOG('Failed to write', err);
        reject(err);
      };

      const wasFlushedToKernel = this.socket.write(message, (err?: Error) => {
        if (!err) {
          LOG('Write succeeded');
          resolve();
        } else {
          onSendError(err);
        }
      });

      if (!wasFlushedToKernel) {
        LOG('TcpClient data was not flushed to kernel buffer and was queued in memory.');
      }
    });
  }