zstd-ruby 1.5.6.7 → 1.5.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/ext/zstdruby/libzstd/common/bits.h +92 -87
- data/ext/zstdruby/libzstd/common/bitstream.h +26 -29
- data/ext/zstdruby/libzstd/common/compiler.h +36 -22
- data/ext/zstdruby/libzstd/common/cpu.h +1 -1
- data/ext/zstdruby/libzstd/common/debug.h +0 -9
- data/ext/zstdruby/libzstd/common/error_private.c +1 -0
- data/ext/zstdruby/libzstd/common/error_private.h +0 -10
- data/ext/zstdruby/libzstd/common/fse.h +2 -17
- data/ext/zstdruby/libzstd/common/fse_decompress.c +2 -0
- data/ext/zstdruby/libzstd/common/huf.h +0 -9
- data/ext/zstdruby/libzstd/common/mem.h +7 -11
- data/ext/zstdruby/libzstd/common/pool.h +0 -9
- data/ext/zstdruby/libzstd/common/portability_macros.h +22 -9
- data/ext/zstdruby/libzstd/common/threading.h +0 -8
- data/ext/zstdruby/libzstd/common/xxhash.h +93 -19
- data/ext/zstdruby/libzstd/common/zstd_deps.h +12 -0
- data/ext/zstdruby/libzstd/common/zstd_internal.h +1 -69
- data/ext/zstdruby/libzstd/common/zstd_trace.h +5 -12
- data/ext/zstdruby/libzstd/compress/hist.c +10 -0
- data/ext/zstdruby/libzstd/compress/hist.h +7 -0
- data/ext/zstdruby/libzstd/compress/zstd_compress.c +1057 -367
- data/ext/zstdruby/libzstd/compress/zstd_compress_internal.h +227 -125
- data/ext/zstdruby/libzstd/compress/zstd_compress_literals.c +1 -1
- data/ext/zstdruby/libzstd/compress/zstd_compress_sequences.c +7 -7
- data/ext/zstdruby/libzstd/compress/zstd_compress_sequences.h +7 -6
- data/ext/zstdruby/libzstd/compress/zstd_compress_superblock.c +17 -17
- data/ext/zstdruby/libzstd/compress/zstd_cwksp.h +41 -24
- data/ext/zstdruby/libzstd/compress/zstd_double_fast.c +58 -50
- data/ext/zstdruby/libzstd/compress/zstd_double_fast.h +4 -12
- data/ext/zstdruby/libzstd/compress/zstd_fast.c +91 -74
- data/ext/zstdruby/libzstd/compress/zstd_fast.h +4 -12
- data/ext/zstdruby/libzstd/compress/zstd_lazy.c +64 -64
- data/ext/zstdruby/libzstd/compress/zstd_lazy.h +30 -39
- data/ext/zstdruby/libzstd/compress/zstd_ldm.c +48 -33
- data/ext/zstdruby/libzstd/compress/zstd_ldm.h +6 -14
- data/ext/zstdruby/libzstd/compress/zstd_opt.c +55 -51
- data/ext/zstdruby/libzstd/compress/zstd_opt.h +8 -16
- data/ext/zstdruby/libzstd/compress/zstd_preSplit.c +238 -0
- data/ext/zstdruby/libzstd/compress/zstd_preSplit.h +33 -0
- data/ext/zstdruby/libzstd/compress/zstdmt_compress.c +134 -93
- data/ext/zstdruby/libzstd/compress/zstdmt_compress.h +4 -15
- data/ext/zstdruby/libzstd/decompress/huf_decompress_amd64.S +10 -3
- data/ext/zstdruby/libzstd/decompress/zstd_decompress.c +14 -11
- data/ext/zstdruby/libzstd/decompress/zstd_decompress_block.c +6 -12
- data/ext/zstdruby/libzstd/decompress/zstd_decompress_internal.h +5 -5
- data/ext/zstdruby/libzstd/dictBuilder/cover.c +60 -19
- data/ext/zstdruby/libzstd/dictBuilder/divsufsort.h +0 -10
- data/ext/zstdruby/libzstd/dictBuilder/zdict.c +2 -2
- data/ext/zstdruby/libzstd/zdict.h +15 -8
- data/ext/zstdruby/libzstd/zstd.h +241 -132
- data/ext/zstdruby/libzstd/zstd_errors.h +1 -8
- data/ext/zstdruby/streaming_compress.c +20 -5
- data/lib/zstd-ruby/version.rb +1 -1
- metadata +5 -6
@@ -15,10 +15,6 @@
|
|
15
15
|
extern "C" {
|
16
16
|
#endif
|
17
17
|
|
18
|
-
/*===== dependency =====*/
|
19
|
-
#include <stddef.h> /* size_t */
|
20
|
-
|
21
|
-
|
22
18
|
/* ===== ZSTDERRORLIB_API : control library symbols visibility ===== */
|
23
19
|
#ifndef ZSTDERRORLIB_VISIBLE
|
24
20
|
/* Backwards compatibility with old macro name */
|
@@ -80,6 +76,7 @@ typedef enum {
|
|
80
76
|
ZSTD_error_tableLog_tooLarge = 44,
|
81
77
|
ZSTD_error_maxSymbolValue_tooLarge = 46,
|
82
78
|
ZSTD_error_maxSymbolValue_tooSmall = 48,
|
79
|
+
ZSTD_error_cannotProduce_uncompressedBlock = 49,
|
83
80
|
ZSTD_error_stabilityCondition_notRespected = 50,
|
84
81
|
ZSTD_error_stage_wrong = 60,
|
85
82
|
ZSTD_error_init_missing = 62,
|
@@ -100,10 +97,6 @@ typedef enum {
|
|
100
97
|
ZSTD_error_maxCode = 120 /* never EVER use this value directly, it can change in future versions! Use ZSTD_isError() instead */
|
101
98
|
} ZSTD_ErrorCode;
|
102
99
|
|
103
|
-
/*! ZSTD_getErrorCode() :
|
104
|
-
convert a `size_t` function result into a `ZSTD_ErrorCode` enum type,
|
105
|
-
which can be used to compare with enum list published above */
|
106
|
-
ZSTDERRORLIB_API ZSTD_ErrorCode ZSTD_getErrorCode(size_t functionResult);
|
107
100
|
ZSTDERRORLIB_API const char* ZSTD_getErrorString(ZSTD_ErrorCode code); /**< Same as ZSTD_getErrorName, but using a `ZSTD_ErrorCode` enum argument */
|
108
101
|
|
109
102
|
|
@@ -4,6 +4,7 @@ struct streaming_compress_t {
|
|
4
4
|
ZSTD_CCtx* ctx;
|
5
5
|
VALUE buf;
|
6
6
|
size_t buf_size;
|
7
|
+
VALUE pending; /* accumulate compressed bytes produced by write() */
|
7
8
|
};
|
8
9
|
|
9
10
|
static void
|
@@ -12,8 +13,10 @@ streaming_compress_mark(void *p)
|
|
12
13
|
struct streaming_compress_t *sc = p;
|
13
14
|
#ifdef HAVE_RB_GC_MARK_MOVABLE
|
14
15
|
rb_gc_mark_movable(sc->buf);
|
16
|
+
rb_gc_mark_movable(sc->pending);
|
15
17
|
#else
|
16
18
|
rb_gc_mark(sc->buf);
|
19
|
+
rb_gc_mark(sc->pending);
|
17
20
|
#endif
|
18
21
|
}
|
19
22
|
|
@@ -40,6 +43,7 @@ streaming_compress_compact(void *p)
|
|
40
43
|
{
|
41
44
|
struct streaming_compress_t *sc = p;
|
42
45
|
sc->buf = rb_gc_location(sc->buf);
|
46
|
+
sc->pending = rb_gc_location(sc->pending);
|
43
47
|
}
|
44
48
|
#endif
|
45
49
|
|
@@ -64,6 +68,7 @@ rb_streaming_compress_allocate(VALUE klass)
|
|
64
68
|
sc->ctx = NULL;
|
65
69
|
sc->buf = Qnil;
|
66
70
|
sc->buf_size = 0;
|
71
|
+
sc->pending = Qnil;
|
67
72
|
return obj;
|
68
73
|
}
|
69
74
|
|
@@ -87,6 +92,7 @@ rb_streaming_compress_initialize(int argc, VALUE *argv, VALUE obj)
|
|
87
92
|
sc->ctx = ctx;
|
88
93
|
sc->buf = rb_str_new(NULL, buffOutSize);
|
89
94
|
sc->buf_size = buffOutSize;
|
95
|
+
sc->pending = rb_str_new(0, 0);
|
90
96
|
|
91
97
|
return obj;
|
92
98
|
}
|
@@ -143,7 +149,6 @@ static VALUE
|
|
143
149
|
rb_streaming_compress_write(int argc, VALUE *argv, VALUE obj)
|
144
150
|
{
|
145
151
|
size_t total = 0;
|
146
|
-
VALUE result = rb_str_new(0, 0);
|
147
152
|
struct streaming_compress_t* sc;
|
148
153
|
TypedData_Get_Struct(obj, struct streaming_compress_t, &streaming_compress_type, sc);
|
149
154
|
const char* output_data = RSTRING_PTR(sc->buf);
|
@@ -161,6 +166,10 @@ rb_streaming_compress_write(int argc, VALUE *argv, VALUE obj)
|
|
161
166
|
if (ZSTD_isError(ret)) {
|
162
167
|
rb_raise(rb_eRuntimeError, "compress error error code: %s", ZSTD_getErrorName(ret));
|
163
168
|
}
|
169
|
+
/* collect produced bytes */
|
170
|
+
if (output.pos > 0) {
|
171
|
+
rb_str_cat(sc->pending, output.dst, output.pos);
|
172
|
+
}
|
164
173
|
total += RSTRING_LEN(str);
|
165
174
|
}
|
166
175
|
}
|
@@ -193,8 +202,11 @@ rb_streaming_compress_flush(VALUE obj)
|
|
193
202
|
{
|
194
203
|
struct streaming_compress_t* sc;
|
195
204
|
TypedData_Get_Struct(obj, struct streaming_compress_t, &streaming_compress_type, sc);
|
196
|
-
VALUE
|
197
|
-
|
205
|
+
VALUE drained = no_compress(sc, ZSTD_e_flush);
|
206
|
+
rb_str_cat(sc->pending, RSTRING_PTR(drained), RSTRING_LEN(drained));
|
207
|
+
VALUE out = sc->pending;
|
208
|
+
sc->pending = rb_str_new(0, 0);
|
209
|
+
return out;
|
198
210
|
}
|
199
211
|
|
200
212
|
static VALUE
|
@@ -202,8 +214,11 @@ rb_streaming_compress_finish(VALUE obj)
|
|
202
214
|
{
|
203
215
|
struct streaming_compress_t* sc;
|
204
216
|
TypedData_Get_Struct(obj, struct streaming_compress_t, &streaming_compress_type, sc);
|
205
|
-
VALUE
|
206
|
-
|
217
|
+
VALUE drained = no_compress(sc, ZSTD_e_end);
|
218
|
+
rb_str_cat(sc->pending, RSTRING_PTR(drained), RSTRING_LEN(drained));
|
219
|
+
VALUE out = sc->pending;
|
220
|
+
sc->pending = rb_str_new(0, 0);
|
221
|
+
return out;
|
207
222
|
}
|
208
223
|
|
209
224
|
extern VALUE rb_mZstd, cStreamingCompress;
|
data/lib/zstd-ruby/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zstd-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.5.
|
4
|
+
version: 1.5.7.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- SpringMT
|
8
|
-
autorequire:
|
9
8
|
bindir: exe
|
10
9
|
cert_chain: []
|
11
|
-
date: 2025-
|
10
|
+
date: 2025-09-26 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
13
|
name: bundler
|
@@ -151,6 +150,8 @@ files:
|
|
151
150
|
- ext/zstdruby/libzstd/compress/zstd_ldm_geartab.h
|
152
151
|
- ext/zstdruby/libzstd/compress/zstd_opt.c
|
153
152
|
- ext/zstdruby/libzstd/compress/zstd_opt.h
|
153
|
+
- ext/zstdruby/libzstd/compress/zstd_preSplit.c
|
154
|
+
- ext/zstdruby/libzstd/compress/zstd_preSplit.h
|
154
155
|
- ext/zstdruby/libzstd/compress/zstdmt_compress.c
|
155
156
|
- ext/zstdruby/libzstd/compress/zstdmt_compress.h
|
156
157
|
- ext/zstdruby/libzstd/decompress/huf_decompress.c
|
@@ -185,7 +186,6 @@ homepage: https://github.com/SpringMT/zstd-ruby
|
|
185
186
|
licenses:
|
186
187
|
- MIT
|
187
188
|
metadata: {}
|
188
|
-
post_install_message:
|
189
189
|
rdoc_options: []
|
190
190
|
require_paths:
|
191
191
|
- lib
|
@@ -200,8 +200,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
200
200
|
- !ruby/object:Gem::Version
|
201
201
|
version: '0'
|
202
202
|
requirements: []
|
203
|
-
rubygems_version: 3.
|
204
|
-
signing_key:
|
203
|
+
rubygems_version: 3.6.2
|
205
204
|
specification_version: 4
|
206
205
|
summary: Ruby binding for zstd(Zstandard - Fast real-time compression algorithm)
|
207
206
|
test_files: []
|