Class: VibeZstd::CCtx

Inherits:
Object
  • Object
show all
Defined in:
sig/vibe_zstd.rbs,
ext/vibe_zstd/vibe_zstd.c

Overview

Compression context for reusable compression operations

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeCCtx

Returns a new instance of CCtx.



6
# File 'sig/vibe_zstd.rbs', line 6

def initialize: () -> void

Class Method Details

.estimate_memory(level) ⇒ Object

CCtx.estimate_memory(level)



40
# File 'ext/vibe_zstd/cctx.c', line 40

def self.estimate_memory: (Integer level) -> Integer

.parameter_boundsHash[Symbol, Integer]

Parameters:

  • param (Symbol)

Returns:

  • (Hash[Symbol, Integer])


11
# File 'sig/vibe_zstd.rbs', line 11

def self.parameter_bounds: (Symbol param) -> Hash[Symbol, Integer]

Instance Method Details

#block_delimitersObject Also known as: block_delimiters?

#block_delimiters=Object

#chain_logObject

#chain_log=Object

#checksum_flagObject Also known as: checksum, checksum?

#checksum_flag=Object Also known as: checksum=

#compress(*args) ⇒ Object

Releases GVL during compression to allow other Ruby threads to run.



91
# File 'ext/vibe_zstd/cctx.c', line 91

def compress: (String data, ?Integer? level, ?CDict? dict, ?pledged_size: Integer?) -> String

#compression_levelObject Also known as: level

#compression_level=Object Also known as: level=

CCtx parameter accessors

#content_size_flagObject Also known as: content_size, content_size?

#content_size_flag=Object Also known as: content_size=

#deterministic_ref_prefixObject Also known as: deterministic_ref_prefix?

#deterministic_ref_prefix=Object

#dict_id_flagObject Also known as: dict_id, dict_id?

#dict_id_flag=Object Also known as: dict_id=

#enable_dedicated_dict_searchObject Also known as: enable_dedicated_dict_search?

#enable_dedicated_dict_search=Object

#enable_long_distance_matchingObject Also known as: long_distance_matching, long_distance_matching?

#enable_long_distance_matching=Object Also known as: long_distance_matching=

#enable_seq_producer_fallbackObject Also known as: enable_seq_producer_fallback?

#enable_seq_producer_fallback=Object

#force_attach_dictObject

#force_attach_dict=Object

#force_max_windowObject Also known as: force_max_window?

#force_max_window=Object

#formatObject

#format=Object

#get_parameterInteger

Parameters:

  • param (Symbol)

Returns:

  • (Integer)


9
# File 'sig/vibe_zstd.rbs', line 9

def get_parameter: (Symbol param) -> Integer

#hash_logObject

#hash_log=Object

#job_sizeObject

#job_size=Object

#ldm_bucket_size_logObject

#ldm_bucket_size_log=Object

#ldm_hash_logObject

#ldm_hash_log=Object

#ldm_hash_rate_logObject

#ldm_hash_rate_log=Object

#ldm_min_matchObject

#ldm_min_match=Object

#literal_compression_modeObject

#literal_compression_mode=Object

#max_block_sizeObject

#max_block_size=Object

#min_matchObject

#min_match=Object

#overlap_logObject

#overlap_log=Object

#prefetch_cdict_tablesObject

#prefetch_cdict_tables=Object

#reset(*args) ⇒ Object

CCtx reset - reset context to clean state



461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
# File 'ext/vibe_zstd/cctx.c', line 461

static VALUE
vibe_zstd_cctx_reset(int argc, VALUE* argv, VALUE self) {
    VALUE reset_mode;
    rb_scan_args(argc, argv, "01", &reset_mode);

    vibe_zstd_cctx* cctx;
    TypedData_Get_Struct(self, vibe_zstd_cctx, &vibe_zstd_cctx_type, cctx);

    // Default to SESSION_AND_PARAMETERS if no argument provided
    ZSTD_ResetDirective directive = ZSTD_reset_session_and_parameters;

    if (!NIL_P(reset_mode)) {
        int mode = NUM2INT(reset_mode);
        if (mode == ZSTD_reset_session_only) {
            directive = ZSTD_reset_session_only;
        } else if (mode == ZSTD_reset_parameters) {
            directive = ZSTD_reset_parameters;
        } else if (mode == ZSTD_reset_session_and_parameters) {
            directive = ZSTD_reset_session_and_parameters;
        } else {
            rb_raise(rb_eArgError, "Invalid reset_mode %d: must be ResetDirective::SESSION (1), PARAMETERS (2), or BOTH (3)", mode);
        }
    }

    size_t result = ZSTD_CCtx_reset(cctx->cctx, directive);

    if (ZSTD_isError(result)) {
        rb_raise(rb_eRuntimeError, "Failed to reset compression context: %s", ZSTD_getErrorName(result));
    }

    return self;
}

#rsyncableObject Also known as: rsyncable?

#rsyncable=Object

#search_for_external_repcodesObject

#search_for_external_repcodes=Object

#search_logObject

#search_log=Object

#set_parameterself

Parameters:

  • param (Symbol)
  • value (Integer)

Returns:

  • (self)


8
# File 'sig/vibe_zstd.rbs', line 8

def set_parameter: (Symbol param, Integer value) -> self

#src_size_hintObject

#src_size_hint=Object

#stable_in_bufferObject Also known as: stable_in_buffer?

#stable_in_buffer=Object

#stable_out_bufferObject Also known as: stable_out_buffer?

#stable_out_buffer=Object

#strategyObject

#strategy=Object

#target_cblock_sizeObject

#target_cblock_size=Object

#target_lengthObject

#target_length=Object

#use_prefix(prefix_data) ⇒ Object

CCtx use_prefix - use raw data as prefix (lightweight dictionary)



444
# File 'ext/vibe_zstd/cctx.c', line 444

def use_prefix: (String prefix_data) -> self

#use_row_match_finderObject

#use_row_match_finder=Object

#validate_sequencesObject Also known as: validate_sequences?

#validate_sequences=Object

#window_logObject

#window_log=Object

#workersObject

#workers=Object