ds9 1.1.1 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ext/ds9/ds9.c +21 -0
- data/lib/ds9.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e93c72e4d28af98ab22cfddbbf23d63464058b22f918bdcd1e8c8757de1446d4
|
4
|
+
data.tar.gz: 46ba03fb497b1402225e240fd480630dc8a0446b59fef942a6948dbb52878e76
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e1e6f2f41597ffb538ece6d682bd958e852823b614bfa9cced6d34765df773038262a24eddee98df33378b857d756597cda325a3fb630622e724f1987c145dc4
|
7
|
+
data.tar.gz: ed37cb22eb7fdd60d8ccb36cacee5b7635a7e790a1258f7eefcb60778495ac35238b72419be134d9faae27a82a72109adbef7848080c6831ec72b1491e3b5972
|
data/ext/ds9/ds9.c
CHANGED
@@ -588,6 +588,8 @@ ruby_read(nghttp2_session *session, int32_t stream_id, uint8_t *buf, size_t leng
|
|
588
588
|
rb_funcall(self, rb_intern("remove_post_buffer"), 1, INT2NUM(stream_id));
|
589
589
|
*data_flags |= NGHTTP2_DATA_FLAG_EOF;
|
590
590
|
return 0;
|
591
|
+
} else if (ret == Qfalse) {
|
592
|
+
return NGHTTP2_ERR_DEFERRED;
|
591
593
|
} else {
|
592
594
|
memcpy(buf, RSTRING_PTR(ret), RSTRING_LEN(ret));
|
593
595
|
return RSTRING_LEN(ret);
|
@@ -761,6 +763,24 @@ static VALUE session_stream_remote_closed_p(VALUE self, VALUE streamid)
|
|
761
763
|
return Qfalse;
|
762
764
|
}
|
763
765
|
|
766
|
+
static VALUE session_resume_data(VALUE self, VALUE streamid)
|
767
|
+
{
|
768
|
+
nghttp2_session *session;
|
769
|
+
int stream_id;
|
770
|
+
int rv;
|
771
|
+
|
772
|
+
TypedData_Get_Struct(self, nghttp2_session, &ds9_session_type, session);
|
773
|
+
CheckSelf(session);
|
774
|
+
|
775
|
+
stream_id = NUM2INT(streamid);
|
776
|
+
rv = nghttp2_session_resume_data(session, stream_id);
|
777
|
+
|
778
|
+
if (rv == 0)
|
779
|
+
return Qtrue;
|
780
|
+
|
781
|
+
return explode(rv);
|
782
|
+
}
|
783
|
+
|
764
784
|
static VALUE session_terminate_session(VALUE self, VALUE err)
|
765
785
|
{
|
766
786
|
int rv;
|
@@ -975,6 +995,7 @@ void Init_ds9(void)
|
|
975
995
|
rb_define_method(cDS9Session, "terminate_session", session_terminate_session, 1);
|
976
996
|
rb_define_method(cDS9Session, "stream_local_closed?", session_stream_local_closed_p, 1);
|
977
997
|
rb_define_method(cDS9Session, "stream_remote_closed?", session_stream_remote_closed_p, 1);
|
998
|
+
rb_define_method(cDS9Session, "resume_data", session_resume_data, 1);
|
978
999
|
|
979
1000
|
rb_define_private_method(cDS9Session, "submit_request", session_submit_request, 2);
|
980
1001
|
rb_define_private_method(cDS9Session, "make_callbacks", make_callbacks, 0);
|
data/lib/ds9.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ds9
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aaron Patterson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-10-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: minitest
|