polyphony 0.81 → 0.81.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/Gemfile.lock +1 -1
- data/examples/core/raw_buffer_test.rb +8 -0
- data/examples/core/zlib_stream.rb +2 -1
- data/ext/polyphony/backend_common.h +0 -1
- data/ext/polyphony/backend_io_uring.c +7 -6
- data/lib/polyphony/version.rb +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f4584f87975e018fe58887f4c6786bfe8c631a7d2fed3717e6822d72741fcc92
|
4
|
+
data.tar.gz: 9353ed759d256a035619d0b18dc53569fba6fdbb0709d79defb585fbf5f63f5a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c4d2d6e7457e49b4803b44e2125b54465a1104635b3d0a1d127538335401eeca6612095a2dcde9b6e149d939d15c6de2a1cbdf892a114535a5f0bd00ea1936e8
|
7
|
+
data.tar.gz: 5f4eb0a66dec6614d542d2c89cad791e2eb7e27ab9ae74f6bf60c8d4bd9831a098f531be6a619d4f13662631e86f1ac6ddc7bf5bf5f005b8926a4dfc3c7e43ef
|
data/CHANGELOG.md
CHANGED
data/Gemfile.lock
CHANGED
@@ -396,7 +396,7 @@ VALUE Backend_read(VALUE self, VALUE io, VALUE str, VALUE length, VALUE to_eof,
|
|
396
396
|
int result;
|
397
397
|
int completed;
|
398
398
|
|
399
|
-
io_uring_prep_read(sqe, fptr->fd, buffer.base, buffer.size
|
399
|
+
io_uring_prep_read(sqe, fptr->fd, buffer.base, buffer.size, -1);
|
400
400
|
|
401
401
|
result = io_uring_backend_defer_submit_and_await(backend, sqe, ctx, &resume_value);
|
402
402
|
completed = context_store_release(&backend->store, ctx);
|
@@ -415,15 +415,15 @@ VALUE Backend_read(VALUE self, VALUE io, VALUE str, VALUE length, VALUE to_eof,
|
|
415
415
|
total += result;
|
416
416
|
if (!read_to_eof) break;
|
417
417
|
|
418
|
-
if (
|
418
|
+
if (result == buffer.size) {
|
419
419
|
if (!expandable_buffer) break;
|
420
420
|
|
421
|
-
// resize buffer
|
421
|
+
// resize buffer to double its capacity
|
422
422
|
rb_str_resize(str, total + buf_pos);
|
423
|
-
rb_str_modify_expand(str,
|
423
|
+
rb_str_modify_expand(str, rb_str_capacity(str));
|
424
424
|
shrinkable_string = 0;
|
425
425
|
buffer.base = RSTRING_PTR(str) + total + buf_pos;
|
426
|
-
buffer.size =
|
426
|
+
buffer.size = rb_str_capacity(str) - total - buf_pos;
|
427
427
|
}
|
428
428
|
else {
|
429
429
|
buffer.base += result;
|
@@ -440,7 +440,7 @@ VALUE Backend_read(VALUE self, VALUE io, VALUE str, VALUE length, VALUE to_eof,
|
|
440
440
|
|
441
441
|
if (!total) return Qnil;
|
442
442
|
|
443
|
-
return str;
|
443
|
+
return buffer.raw ? INT2FIX(total) : str;
|
444
444
|
}
|
445
445
|
|
446
446
|
VALUE Backend_read_loop(VALUE self, VALUE io, VALUE maxlen) {
|
@@ -585,6 +585,7 @@ VALUE Backend_write(VALUE self, VALUE io, VALUE str) {
|
|
585
585
|
rb_syserr_fail(-result, strerror(-result));
|
586
586
|
else {
|
587
587
|
buffer.base += result;
|
588
|
+
buffer.size -= result;
|
588
589
|
left -= result;
|
589
590
|
}
|
590
591
|
}
|
data/lib/polyphony/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: polyphony
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 0.81.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sharon Rosner
|
@@ -232,6 +232,7 @@ files:
|
|
232
232
|
- examples/core/nested.rb
|
233
233
|
- examples/core/pingpong.rb
|
234
234
|
- examples/core/queue.rb
|
235
|
+
- examples/core/raw_buffer_test.rb
|
235
236
|
- examples/core/recurrent-timer.rb
|
236
237
|
- examples/core/resource_delegate.rb
|
237
238
|
- examples/core/ring.rb
|