Example #1
0
        public static SnappyStatus snappy_compress(byte[] input, int input_offset, int input_length, byte[] output, int output_offset, ref int output_length)
        {
            SnappyStatus status;
            var          ulongOutput_length = (ulong)output_length;

            using (var pinnedInput = new PinnedBuffer(input, input_offset))
                using (var pinnedOutput = new PinnedBuffer(output, output_offset))
                {
                    status        = Snappy64NativeMethods.snappy_compress(pinnedInput.IntPtr, (ulong)input_length, pinnedOutput.IntPtr, ref ulongOutput_length);
                    output_length = (int)ulongOutput_length;
                }
            return(status);
        }
Example #2
0
            public static SnappyStatus snappy_compress(IntPtr input, int input_length, IntPtr output, ref int output_length)
            {
                SnappyStatus status;

                if (__is64BitProcess)
                {
                    var ulongOutput_length = (ulong)output_length;
                    status        = Snappy64NativeMethods.snappy_compress(input, (ulong)input_length, output, ref ulongOutput_length);
                    output_length = (int)ulongOutput_length;
                }
                else
                {
                    var uintOutput_length = (uint)output_length;
                    status        = Snappy32NativeMethods.snappy_compress(input, (uint)input_length, output, ref uintOutput_length);
                    output_length = (int)uintOutput_length;
                }

                return(status);
            }