internal unsafe nuint CompressStream(ref ZSTD_inBuffer_s input, ReadOnlySpan <byte> inputBuffer, ZSTD_EndDirective directive) { fixed(byte *inputBufferPtr = inputBuffer) fixed(byte *outputBufferPtr = outputBuffer) { input.src = inputBufferPtr; output.dst = outputBufferPtr; return(compressor.CompressStream(ref input, ref output, directive).EnsureZstdSuccess()); } }
public static extern UIntPtr ZSTD_compressStream2(void *ctx, ZSTD_outBuffer *output, ZSTD_inBuffer *input, ZSTD_EndDirective directive);
public static extern size_t ZSTD_compressStream2(IntPtr zcs, ref ZSTD_Buffer output, ref ZSTD_Buffer input, ZSTD_EndDirective endOp);
private unsafe UIntPtr Compress(ReadOnlySpan <byte> buffer, ref ZSTD_Buffer output, ref ZSTD_Buffer input, ZSTD_EndDirective directive) { fixed(void *inputHandle = &MemoryMarshal.GetReference(buffer)) fixed(void *outputHandle = &outputBuffer[0]) { input.buffer = new IntPtr(inputHandle); output.buffer = new IntPtr(outputHandle); return(ZSTD_compressStream2(cStream, ref output, ref input, directive).EnsureZstdSuccess()); } }