readPublicationEncoded method

Uint8List readPublicationEncoded({
  1. required int sessionId,
})

Implementation

Uint8List readPublicationEncoded({required int sessionId}) {
  _validateId(sessionId, 'session id');
  final publicationOut = calloc<_RitoOwnedBuffer>();
  final errorOut = calloc<_RitoOwnedBuffer>();
  try {
    final status = _readPublication(sessionId, publicationOut, errorOut);
    if (status != 0) {
      throw _nativeError(status, errorOut);
    }
    try {
      return _copyOutput(publicationOut, 'publication');
    } on Object catch (error, stackTrace) {
      _disposeAfterFailedSessionOutput(sessionId);
      Error.throwWithStackTrace(
        _terminatedSessionResultError('publication', error),
        stackTrace,
      );
    }
  } finally {
    _bufferFree(publicationOut);
    _bufferFree(errorOut);
    calloc
      ..free(publicationOut)
      ..free(errorOut);
  }
}