@@ -15,32 +15,6 @@ static int convert_compression_level(VALUE compression_level_value)
15
15
return NUM2INT (compression_level_value );
16
16
}
17
17
18
- struct compress_params {
19
- ZSTD_CCtx * ctx ;
20
- ZSTD_outBuffer * output ;
21
- ZSTD_inBuffer * input ;
22
- ZSTD_EndDirective endOp ;
23
- size_t ret ;
24
- };
25
-
26
- static void * compress_wrapper (void * args )
27
- {
28
- struct compress_params * params = args ;
29
- params -> ret = ZSTD_compressStream2 (params -> ctx , params -> output , params -> input , params -> endOp );
30
- return NULL ;
31
- }
32
-
33
- static size_t zstd_compress (ZSTD_CCtx * const ctx , ZSTD_outBuffer * output , ZSTD_inBuffer * input , ZSTD_EndDirective endOp )
34
- {
35
- #ifdef HAVE_RUBY_THREAD_H
36
- struct compress_params params = { ctx , output , input , endOp };
37
- rb_thread_call_without_gvl (compress_wrapper , & params , NULL , NULL );
38
- return params .ret ;
39
- #else
40
- return ZSTD_compressStream2 (ctx , output , input , endOp );
41
- #endif
42
- }
43
-
44
18
static void set_compress_params (ZSTD_CCtx * const ctx , VALUE level_from_args , VALUE kwargs )
45
19
{
46
20
ID kwargs_keys [2 ];
@@ -69,28 +43,29 @@ static void set_compress_params(ZSTD_CCtx* const ctx, VALUE level_from_args, VAL
69
43
}
70
44
}
71
45
72
- struct decompress_params {
73
- ZSTD_DCtx * dctx ;
46
+ struct compress_params {
47
+ ZSTD_CCtx * ctx ;
74
48
ZSTD_outBuffer * output ;
75
49
ZSTD_inBuffer * input ;
50
+ ZSTD_EndDirective endOp ;
76
51
size_t ret ;
77
52
};
78
53
79
- static void * decompress_wrapper (void * args )
54
+ static void * compress_wrapper (void * args )
80
55
{
81
- struct decompress_params * params = args ;
82
- params -> ret = ZSTD_decompressStream (params -> dctx , params -> output , params -> input );
56
+ struct compress_params * params = args ;
57
+ params -> ret = ZSTD_compressStream2 (params -> ctx , params -> output , params -> input , params -> endOp );
83
58
return NULL ;
84
59
}
85
60
86
- static size_t zstd_decompress ( ZSTD_DCtx * const dctx , ZSTD_outBuffer * output , ZSTD_inBuffer * input )
61
+ static size_t zstd_compress ( ZSTD_CCtx * const ctx , ZSTD_outBuffer * output , ZSTD_inBuffer * input , ZSTD_EndDirective endOp )
87
62
{
88
63
#ifdef HAVE_RUBY_THREAD_H
89
- struct decompress_params params = { dctx , output , input };
90
- rb_thread_call_without_gvl (decompress_wrapper , & params , NULL , NULL );
64
+ struct compress_params params = { ctx , output , input , endOp };
65
+ rb_thread_call_without_gvl (compress_wrapper , & params , NULL , NULL );
91
66
return params .ret ;
92
67
#else
93
- return ZSTD_decompressStream ( dctx , output , input );
68
+ return ZSTD_compressStream2 ( ctx , output , input , endOp );
94
69
#endif
95
70
}
96
71
@@ -112,4 +87,29 @@ static void set_decompress_params(ZSTD_DCtx* const dctx, VALUE kwargs)
112
87
}
113
88
}
114
89
90
+ struct decompress_params {
91
+ ZSTD_DCtx * dctx ;
92
+ ZSTD_outBuffer * output ;
93
+ ZSTD_inBuffer * input ;
94
+ size_t ret ;
95
+ };
96
+
97
+ static void * decompress_wrapper (void * args )
98
+ {
99
+ struct decompress_params * params = args ;
100
+ params -> ret = ZSTD_decompressStream (params -> dctx , params -> output , params -> input );
101
+ return NULL ;
102
+ }
103
+
104
+ static size_t zstd_decompress (ZSTD_DCtx * const dctx , ZSTD_outBuffer * output , ZSTD_inBuffer * input )
105
+ {
106
+ #ifdef HAVE_RUBY_THREAD_H
107
+ struct decompress_params params = { dctx , output , input };
108
+ rb_thread_call_without_gvl (decompress_wrapper , & params , NULL , NULL );
109
+ return params .ret ;
110
+ #else
111
+ return ZSTD_decompressStream (dctx , output , input );
112
+ #endif
113
+ }
114
+
115
115
#endif /* ZSTD_RUBY_H */
0 commit comments