Class: ZstdNative::CCtx
- Inherits:
-
Object
- Object
- ZstdNative::CCtx
- Defined in:
- ext/zstd_native/zstd_native.c
Instance Method Summary collapse
- #compress(data, level_val) ⇒ Object
- #load_dictionary(dict) ⇒ Object
- #ref_cdict(cdict_val) ⇒ Object
- #ref_prefix(prefix) ⇒ Object
- #reset ⇒ Object
- #sizeof ⇒ Object
Instance Method Details
#compress(data, level_val) ⇒ Object
148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 |
# File 'ext/zstd_native/zstd_native.c', line 148 static VALUE cctx_compress(VALUE self, VALUE data, VALUE level_val) { Check_Type(data, T_STRING); int level = NUM2INT(level_val); ZSTD_CCtx *ctx; TypedData_Get_Struct(self, ZSTD_CCtx, &cctx_type, ctx); const char *src = RSTRING_PTR(data); size_t src_size = RSTRING_LEN(data); size_t dst_capacity = ZSTD_compressBound(src_size); VALUE result = rb_str_buf_new(dst_capacity); char *dst = RSTRING_PTR(result); size_t compressed_size = ZSTD_compressCCtx(ctx, dst, dst_capacity, src, src_size, level); check_zstd_error(compressed_size, "CCtx compression failed"); rb_str_set_len(result, compressed_size); return result; } |
#load_dictionary(dict) ⇒ Object
178 179 180 181 182 183 184 185 186 187 188 189 190 |
# File 'ext/zstd_native/zstd_native.c', line 178 static VALUE cctx_load_dictionary(VALUE self, VALUE dict) { Check_Type(dict, T_STRING); ZSTD_CCtx *ctx; TypedData_Get_Struct(self, ZSTD_CCtx, &cctx_type, ctx); const char *dict_data = RSTRING_PTR(dict); size_t dict_size = RSTRING_LEN(dict); size_t result = ZSTD_CCtx_loadDictionary(ctx, dict_data, dict_size); check_zstd_error(result, "Failed to load dictionary"); return Qnil; } |
#ref_cdict(cdict_val) ⇒ Object
192 193 194 195 196 197 198 199 200 201 202 |
# File 'ext/zstd_native/zstd_native.c', line 192 static VALUE cctx_ref_cdict(VALUE self, VALUE cdict_val) { ZSTD_CCtx *ctx; TypedData_Get_Struct(self, ZSTD_CCtx, &cctx_type, ctx); ZSTD_CDict *cdict; TypedData_Get_Struct(cdict_val, ZSTD_CDict, &cdict_type, cdict); size_t result = ZSTD_CCtx_refCDict(ctx, cdict); check_zstd_error(result, "Failed to reference CDict"); return Qnil; } |
#ref_prefix(prefix) ⇒ Object
204 205 206 207 208 209 210 211 212 213 214 215 216 |
# File 'ext/zstd_native/zstd_native.c', line 204 static VALUE cctx_ref_prefix(VALUE self, VALUE prefix) { Check_Type(prefix, T_STRING); ZSTD_CCtx *ctx; TypedData_Get_Struct(self, ZSTD_CCtx, &cctx_type, ctx); const char *prefix_data = RSTRING_PTR(prefix); size_t prefix_size = RSTRING_LEN(prefix); size_t result = ZSTD_CCtx_refPrefix(ctx, prefix_data, prefix_size); check_zstd_error(result, "Failed to reference prefix"); return Qnil; } |
#reset ⇒ Object
169 170 171 172 173 174 175 176 |
# File 'ext/zstd_native/zstd_native.c', line 169 static VALUE cctx_reset(VALUE self) { ZSTD_CCtx *ctx; TypedData_Get_Struct(self, ZSTD_CCtx, &cctx_type, ctx); size_t result = ZSTD_CCtx_reset(ctx, ZSTD_reset_session_only); check_zstd_error(result, "CCtx reset failed"); return Qnil; } |
#sizeof ⇒ Object
218 219 220 221 222 |
# File 'ext/zstd_native/zstd_native.c', line 218 static VALUE cctx_sizeof(VALUE self) { ZSTD_CCtx *ctx; TypedData_Get_Struct(self, ZSTD_CCtx, &cctx_type, ctx); return SIZET2NUM(ZSTD_sizeof_CCtx(ctx)); } |