예제 #1
0
def createCompressionContext():
    ctx = ffi.new("LZ4F_compressionContext_t*")
    r = lib.LZ4F_createCompressionContext(ctx, lib.LZ4F_VERSION)
    if lib.LZ4F_isError(r):
        raise NameError(ffi.string(lib.LZ4F_getErrorName(code)))
    else:
        return ctx
예제 #2
0
def createCompressionContext():
    ctx = ffi.new("LZ4F_compressionContext_t*")
    r = lib.LZ4F_createCompressionContext(ctx, lib.LZ4F_VERSION)
    if lib.LZ4F_isError(r):
        raise NameError(ffi.string(lib.LZ4F_getErrorName(code)))
    else:
        return ctx
예제 #3
0
from lz4f import (createCompressionContext, compressBound,
                  compressBegin, compressUpdate, compressEnd, freeCompressionContext)
from _lz4 import ffi, lib

SRC_SIZE = 16 * 1024

ctx = createCompressionContext()
lz4_preferences = ffi.new("LZ4F_preferences_t*",
                          {'frameInfo': {'blockSizeID': lib.LZ4F_max256KB,
                                         'blockMode': lib.LZ4F_blockLinked,
                                         'contentChecksumFlag': lib.LZ4F_noContentChecksum,
                                         'frameType': lib.LZ4F_frame,
                                         'contentSize': 0,
                                         'reserved': [0, 0]},
                           'compressionLevel': 0,
                           'autoFlush': 0,
                           'reserved': [0, 0, 0, 0]})

src = ffi.new("char[]", SRC_SIZE)
src_buf = ffi.buffer(src)
dst_size = compressBound(SRC_SIZE, lz4_preferences)

dst = ffi.new("char[]", dst_size)
dst_buf = ffi.buffer(dst)

infile = open("test.tar", "rb")
outfile = open("test.tar.lz4", "wb")
filesize = 0
compressedfilesize = 0

read_size = infile.raw.readinto(src_buf)
예제 #4
0
    compressEnd,
    freeCompressionContext,
)
from _lz4 import ffi, lib

SRC_SIZE = 16 * 1024

ctx = createCompressionContext()
lz4_preferences = ffi.new(
    "LZ4F_preferences_t*",
    {
        "frameInfo": {
            "blockSizeID": lib.LZ4F_max256KB,
            "blockMode": lib.LZ4F_blockLinked,
            "contentChecksumFlag": lib.LZ4F_noContentChecksum,
            "frameType": lib.LZ4F_frame,
            "contentSize": 0,
            "reserved": [0, 0],
        },
        "compressionLevel": 0,
        "autoFlush": 0,
        "reserved": [0, 0, 0, 0],
    },
)

src = ffi.new("char[]", SRC_SIZE)
src_buf = ffi.buffer(src)
dst_size = compressBound(SRC_SIZE, lz4_preferences)

dst = ffi.new("char[]", dst_size)
dst_buf = ffi.buffer(dst)