cryptoSecretstreamXchacha20poly1305InitPull static method

Pointer<Uint8> cryptoSecretstreamXchacha20poly1305InitPull(
  1. Uint8List header,
  2. Uint8List k
)

Implementation

static Pointer<Uint8> cryptoSecretstreamXchacha20poly1305InitPull(
    Uint8List header, Uint8List k) {
  RangeError.checkValueInInterval(
      header.length,
      cryptoSecretstreamXchacha20poly1305Headerbytes,
      cryptoSecretstreamXchacha20poly1305Headerbytes,
      'header',
      'Invalid length');
  RangeError.checkValueInInterval(
      k.length,
      cryptoSecretstreamXchacha20poly1305Keybytes,
      cryptoSecretstreamXchacha20poly1305Keybytes,
      'k',
      'Invalid length');

  final _state = calloc<Uint8>(cryptoSecretstreamXchacha20poly1305Statebytes);
  final _header = header.toPointer();
  final _k = k.toPointer();

  try {
    _cryptoSecretStream
        .crypto_secretstream_xchacha20poly1305_init_pull(_state, _header, _k)
        .mustSucceed('crypto_secretstream_xchacha20poly1305_init_pull');
    return _state;
  } finally {
    calloc.free(_header);
    calloc.free(_k);
  }
}