protocol-quic 0.0.2 → 0.0.3

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.
Files changed (33) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/ext/source/Protocol/QUIC/Address.cpp +122 -0
  4. data/ext/source/Protocol/QUIC/Address.hpp +30 -0
  5. data/ext/source/Protocol/QUIC/Client.cpp +157 -0
  6. data/ext/source/Protocol/QUIC/Client.hpp +27 -0
  7. data/ext/source/Protocol/QUIC/Configuration.cpp +74 -0
  8. data/ext/source/Protocol/QUIC/Configuration.hpp +27 -0
  9. data/ext/source/Protocol/QUIC/Connection.cpp +50 -0
  10. data/ext/source/Protocol/QUIC/Connection.hpp +29 -0
  11. data/ext/source/Protocol/QUIC/Dispatcher.cpp +190 -0
  12. data/ext/source/Protocol/QUIC/Dispatcher.hpp +27 -0
  13. data/ext/source/Protocol/QUIC/PacketHeader.cpp +59 -0
  14. data/ext/source/Protocol/QUIC/PacketHeader.hpp +29 -0
  15. data/ext/source/Protocol/QUIC/Reference.hpp +31 -0
  16. data/ext/source/Protocol/QUIC/Server.cpp +165 -0
  17. data/ext/source/Protocol/QUIC/Server.hpp +27 -0
  18. data/ext/source/Protocol/QUIC/Socket.cpp +103 -0
  19. data/ext/source/Protocol/QUIC/Socket.hpp +29 -0
  20. data/ext/source/Protocol/QUIC/Stream.cpp +96 -0
  21. data/ext/source/Protocol/QUIC/Stream.hpp +29 -0
  22. data/ext/source/Protocol/QUIC/TLS/ClientContext.cpp +61 -0
  23. data/ext/source/Protocol/QUIC/TLS/ClientContext.hpp +27 -0
  24. data/ext/source/Protocol/QUIC/TLS/Context.cpp +116 -0
  25. data/ext/source/Protocol/QUIC/TLS/Context.hpp +27 -0
  26. data/ext/source/Protocol/QUIC/TLS/ServerContext.cpp +61 -0
  27. data/ext/source/Protocol/QUIC/TLS/ServerContext.hpp +27 -0
  28. data/ext/source/Protocol/QUIC.cpp +36 -0
  29. data/ext/source/Protocol/QUIC.hpp +15 -0
  30. data/lib/protocol/quic/version.rb +1 -1
  31. data.tar.gz.sig +0 -0
  32. metadata +28 -1
  33. metadata.gz.sig +0 -0
@@ -0,0 +1,96 @@
1
+ //
2
+ // Stream.cpp
3
+ // This file is part of the "Protocol::QUIC" project and released under the MIT License.
4
+ //
5
+ // Created by Samuel Williams on 27/4/2023.
6
+ // Copyright, 2023, by Samuel Williams. All rights reserved.
7
+ //
8
+
9
+ #include "Stream.hpp"
10
+ #include "Connection.hpp"
11
+ #include <Protocol/QUIC/BufferedStream.hpp>
12
+
13
+ VALUE Protocol_QUIC_Stream = Qnil;
14
+
15
+ class RubyStream : public Protocol::QUIC::BufferedStream {
16
+ public:
17
+ VALUE self;
18
+
19
+ private:
20
+ VALUE _connection;
21
+ public:
22
+ RubyStream(VALUE self, VALUE connection, VALUE stream_id) : Protocol::QUIC::BufferedStream(*Protocol_QUIC_Connection_get(connection), RB_NUM2LL(stream_id)), self(self), _connection(connection) {}
23
+
24
+ virtual ~RubyStream() {}
25
+
26
+ void mark() {
27
+ rb_gc_mark_movable(self);
28
+ rb_gc_mark_movable(_connection);
29
+ }
30
+
31
+ void compact() {
32
+ self = rb_gc_location(self);
33
+ _connection = rb_gc_location(_connection);
34
+ }
35
+ };
36
+
37
+ static void Protocol_QUIC_Stream_mark(void *data) {
38
+ if (data) {
39
+ reinterpret_cast<RubyStream *>(data)->mark();
40
+ }
41
+ }
42
+
43
+ static void Protocol_QUIC_Stream_compact(void *data) {
44
+ if (data) {
45
+ reinterpret_cast<RubyStream *>(data)->compact();
46
+ }
47
+ }
48
+
49
+ static void Protocol_QUIC_Stream_free(void *data) {
50
+ if (data) {
51
+ delete reinterpret_cast<RubyStream *>(data);
52
+ }
53
+ }
54
+
55
+ static size_t Protocol_QUIC_Stream_size(const void *data) {
56
+ return sizeof(RubyStream);
57
+ }
58
+
59
+ const rb_data_type_t Protocol_QUIC_Stream_type = {
60
+ .wrap_struct_name = "Protocol::QUIC::Stream",
61
+ .function = {
62
+ .dmark = Protocol_QUIC_Stream_mark,
63
+ .dfree = Protocol_QUIC_Stream_free,
64
+ .dsize = Protocol_QUIC_Stream_size,
65
+ .dcompact = Protocol_QUIC_Stream_compact,
66
+ },
67
+ .data = NULL,
68
+ .flags = RUBY_TYPED_FREE_IMMEDIATELY,
69
+ };
70
+
71
+ Protocol::QUIC::Stream * Protocol_QUIC_Stream_get(VALUE self)
72
+ {
73
+ Protocol::QUIC::Stream *address;
74
+
75
+ TypedData_Get_Struct(self, Protocol::QUIC::Stream, &Protocol_QUIC_Stream_type, address);
76
+
77
+ return address;
78
+ }
79
+
80
+ VALUE Protocol_QUIC_Stream_allocate(VALUE klass) {
81
+ return TypedData_Wrap_Struct(klass, &Protocol_QUIC_Stream_type, NULL);
82
+ }
83
+
84
+ static VALUE Protocol_QUIC_Stream_initialize(VALUE self, VALUE connection, VALUE stream_id) {
85
+ DATA_PTR(self) = new RubyStream(self, connection, stream_id);
86
+
87
+ return self;
88
+ }
89
+
90
+ void Init_Protocol_QUIC_Stream(VALUE Protocol_QUIC) {
91
+ Protocol_QUIC_Stream =
92
+ rb_define_class_under(Protocol_QUIC, "Stream", rb_cObject);
93
+
94
+ rb_define_alloc_func(Protocol_QUIC_Stream, Protocol_QUIC_Stream_allocate);
95
+ rb_define_method(Protocol_QUIC_Stream, "initialize", Protocol_QUIC_Stream_initialize, 2);
96
+ }
@@ -0,0 +1,29 @@
1
+ //
2
+ // Stream.hpp
3
+ // This file is part of the "Protocol::QUIC" project and released under the MIT License.
4
+ //
5
+ // Created by Samuel Williams on 27/4/2023.
6
+ // Copyright, 2023, by Samuel Williams. All rights reserved.
7
+ //
8
+
9
+ #pragma once
10
+
11
+ #include <ruby.h>
12
+
13
+ #include <Protocol/QUIC/Stream.hpp>
14
+
15
+ #ifdef __cplusplus
16
+ extern "C" {
17
+ #endif
18
+
19
+ extern VALUE Protocol_QUIC_Stream;
20
+
21
+ void Init_Protocol_QUIC_Stream(VALUE Protocol_QUIC);
22
+
23
+ Protocol::QUIC::Stream * Protocol_QUIC_Stream_get(VALUE self);
24
+
25
+ VALUE Protocol_QUIC_Stream_allocate(VALUE klass);
26
+
27
+ #ifdef __cplusplus
28
+ }
29
+ #endif
@@ -0,0 +1,61 @@
1
+ //
2
+ // ClientContext.cpp
3
+ // This file is part of the "Protocol::QUIC" project and released under the MIT License.
4
+ //
5
+ // Created by Samuel Williams on 27/4/2023.
6
+ // Copyright, 2023, by Samuel Williams. All rights reserved.
7
+ //
8
+
9
+ #include "ClientContext.hpp"
10
+ #include "Context.hpp"
11
+
12
+ VALUE Protocol_QUIC_TLS_ClientContext = Qnil;
13
+
14
+ static void Protocol_QUIC_TLS_ClientContext_free(void *data) {
15
+ if (data) {
16
+ delete reinterpret_cast<Protocol::QUIC::TLS::ClientContext *>(data);
17
+ }
18
+ }
19
+
20
+ static size_t Protocol_QUIC_TLS_ClientContext_size(const void *data) {
21
+ return sizeof(Protocol::QUIC::TLS::ClientContext);
22
+ }
23
+
24
+ static const rb_data_type_t Protocol_QUIC_TLS_ClientContext_type = {
25
+ .wrap_struct_name = "Protocol::QUIC::TLS::ClientContext",
26
+ .function = {
27
+ .dmark = NULL,
28
+ .dfree = Protocol_QUIC_TLS_ClientContext_free,
29
+ .dsize = Protocol_QUIC_TLS_ClientContext_size,
30
+ },
31
+ .parent = &Protocol_QUIC_TLS_Context_type,
32
+ .data = NULL,
33
+ .flags = RUBY_TYPED_FREE_IMMEDIATELY,
34
+ };
35
+
36
+ Protocol::QUIC::TLS::ClientContext * Protocol_QUIC_TLS_ClientContext_get(VALUE self)
37
+ {
38
+ Protocol::QUIC::TLS::ClientContext *data;
39
+
40
+ TypedData_Get_Struct(self, Protocol::QUIC::TLS::ClientContext, &Protocol_QUIC_TLS_ClientContext_type, data);
41
+
42
+ return data;
43
+ }
44
+
45
+ static VALUE Protocol_QUIC_TLS_ClientContext_allocate(VALUE klass) {
46
+ return TypedData_Wrap_Struct(klass, &Protocol_QUIC_TLS_ClientContext_type, NULL);
47
+ }
48
+
49
+ static VALUE Protocol_QUIC_TLS_ClientContext_initialize(VALUE self) {
50
+ DATA_PTR(self) = new Protocol::QUIC::TLS::ClientContext();
51
+
52
+ return self;
53
+ }
54
+
55
+ void Init_Protocol_QUIC_TLS_ClientContext(VALUE Protocol_QUIC_TLS) {
56
+ Protocol_QUIC_TLS_ClientContext =
57
+ rb_define_class_under(Protocol_QUIC_TLS, "ClientContext", Protocol_QUIC_TLS_Context);
58
+
59
+ rb_define_alloc_func(Protocol_QUIC_TLS_ClientContext, Protocol_QUIC_TLS_ClientContext_allocate);
60
+ rb_define_method(Protocol_QUIC_TLS_ClientContext, "initialize", Protocol_QUIC_TLS_ClientContext_initialize, 0);
61
+ }
@@ -0,0 +1,27 @@
1
+ //
2
+ // ClientContext.h
3
+ // This file is part of the "Protocol::QUIC" project and released under the MIT License.
4
+ //
5
+ // Created by Samuel Williams on 27/4/2023.
6
+ // Copyright, 2023, by Samuel Williams. All rights reserved.
7
+ //
8
+
9
+ #pragma once
10
+
11
+ #include <ruby.h>
12
+
13
+ #include <Protocol/QUIC/TLS/ClientContext.hpp>
14
+
15
+ #ifdef __cplusplus
16
+ extern "C" {
17
+ #endif
18
+
19
+ extern VALUE Protocol_QUIC_TLS_ClientContext;
20
+
21
+ void Init_Protocol_QUIC_TLS_ClientContext(VALUE Protocol_QUIC_TLS);
22
+
23
+ Protocol::QUIC::TLS::ClientContext * Protocol_QUIC_TLS_ClientContext_get(VALUE self);
24
+
25
+ #ifdef __cplusplus
26
+ }
27
+ #endif
@@ -0,0 +1,116 @@
1
+ //
2
+ // Context.cpp
3
+ // This file is part of the "Protocol::QUIC" project and released under the MIT License.
4
+ //
5
+ // Created by Samuel Williams on 27/4/2023.
6
+ // Copyright, 2023, by Samuel Williams. All rights reserved.
7
+ //
8
+
9
+ #include "Context.hpp"
10
+
11
+ #include "ClientContext.hpp"
12
+ #include "ServerContext.hpp"
13
+
14
+ VALUE Protocol_QUIC_TLS_Context = Qnil;
15
+
16
+ static void Protocol_QUIC_TLS_Context_free(void *data) {
17
+ if (data) {
18
+ delete reinterpret_cast<Protocol::QUIC::TLS::Context *>(data);
19
+ }
20
+ }
21
+
22
+ static size_t Protocol_QUIC_TLS_Context_size(const void *data) {
23
+ return sizeof(Protocol::QUIC::TLS::Context);
24
+ }
25
+
26
+ const rb_data_type_t Protocol_QUIC_TLS_Context_type = {
27
+ .wrap_struct_name = "Protocol::QUIC::TLS::Context",
28
+ .function = {
29
+ .dmark = NULL,
30
+ .dfree = Protocol_QUIC_TLS_Context_free,
31
+ .dsize = Protocol_QUIC_TLS_Context_size,
32
+ },
33
+ .data = NULL,
34
+ .flags = RUBY_TYPED_FREE_IMMEDIATELY,
35
+ };
36
+
37
+ Protocol::QUIC::TLS::Context * Protocol_QUIC_TLS_Context_get(VALUE self)
38
+ {
39
+ Protocol::QUIC::TLS::Context *tls_context;
40
+
41
+ TypedData_Get_Struct(self, Protocol::QUIC::TLS::Context, &Protocol_QUIC_TLS_Context_type, tls_context);
42
+
43
+ return tls_context;
44
+ }
45
+
46
+ static VALUE Protocol_QUIC_TLS_Context_allocate(VALUE klass) {
47
+ return TypedData_Wrap_Struct(klass, &Protocol_QUIC_TLS_Context_type, NULL);
48
+ }
49
+
50
+ static VALUE Protocol_QUIC_TLS_Context_initialize(VALUE self) {
51
+ DATA_PTR(self) = new Protocol::QUIC::TLS::Context();
52
+
53
+ return self;
54
+ }
55
+
56
+ static VALUE Protocol_QUIC_TLS_Context_add_protocol(VALUE self, VALUE name) {
57
+ StringValue(name);
58
+
59
+ Protocol::QUIC::TLS::Context *tls_context;
60
+ TypedData_Get_Struct(self, Protocol::QUIC::TLS::Context, &Protocol_QUIC_TLS_Context_type, tls_context);
61
+
62
+ tls_context->add_protocol(
63
+ std::string(RSTRING_PTR(name), RSTRING_LEN(name))
64
+ );
65
+
66
+ return self;
67
+ }
68
+
69
+ static VALUE Protocol_QUIC_TLS_Context_load_certificate_file(VALUE self, VALUE path) {
70
+ StringValue(path);
71
+
72
+ auto tls_context = Protocol_QUIC_TLS_Context_get(self);
73
+ tls_context->load_certificate_file(RSTRING_PTR(path));
74
+
75
+ return self;
76
+ }
77
+
78
+ static VALUE Protocol_QUIC_TLS_Context_load_private_key_file(VALUE self, VALUE path) {
79
+ StringValue(path);
80
+
81
+ auto tls_context = Protocol_QUIC_TLS_Context_get(self);
82
+ tls_context->load_private_key_file(RSTRING_PTR(path));
83
+
84
+ return self;
85
+ }
86
+
87
+ static VALUE Protocol_QUIC_TLS_Context_protocols(VALUE self) {
88
+ Protocol::QUIC::TLS::Context *tls_context;
89
+ TypedData_Get_Struct(self, Protocol::QUIC::TLS::Context, &Protocol_QUIC_TLS_Context_type, tls_context);
90
+
91
+ VALUE protocols = rb_ary_new();
92
+
93
+ for (auto & protocol : tls_context->protocols()) {
94
+ rb_ary_push(protocols, rb_str_new(protocol.data(), protocol.size()));
95
+ }
96
+
97
+ return protocols;
98
+ }
99
+
100
+ void Init_Protocol_QUIC_TLS_Context(VALUE Protocol_QUIC) {
101
+ VALUE Protocol_QUIC_TLS = rb_define_module_under(Protocol_QUIC, "TLS");
102
+
103
+ Protocol_QUIC_TLS_Context =
104
+ rb_define_class_under(Protocol_QUIC_TLS, "Context", rb_cObject);
105
+
106
+ rb_define_alloc_func(Protocol_QUIC_TLS_Context, Protocol_QUIC_TLS_Context_allocate);
107
+ rb_define_method(Protocol_QUIC_TLS_Context, "initialize", Protocol_QUIC_TLS_Context_initialize, 0);
108
+
109
+ rb_define_method(Protocol_QUIC_TLS_Context, "add_protocol", Protocol_QUIC_TLS_Context_add_protocol, 1);
110
+ rb_define_method(Protocol_QUIC_TLS_Context, "load_certificate_file", Protocol_QUIC_TLS_Context_load_certificate_file, 1);
111
+ rb_define_method(Protocol_QUIC_TLS_Context, "load_private_key_file", Protocol_QUIC_TLS_Context_load_private_key_file, 1);
112
+ rb_define_method(Protocol_QUIC_TLS_Context, "protocols", Protocol_QUIC_TLS_Context_protocols, 0);
113
+
114
+ Init_Protocol_QUIC_TLS_ClientContext(Protocol_QUIC_TLS);
115
+ Init_Protocol_QUIC_TLS_ServerContext(Protocol_QUIC_TLS);
116
+ }
@@ -0,0 +1,27 @@
1
+ //
2
+ // Context.h
3
+ // This file is part of the "Protocol::QUIC" project and released under the MIT License.
4
+ //
5
+ // Created by Samuel Williams on 27/4/2023.
6
+ // Copyright, 2023, by Samuel Williams. All rights reserved.
7
+ //
8
+
9
+ #pragma once
10
+
11
+ #include <ruby.h>
12
+
13
+ #include <Protocol/QUIC/TLS/Context.hpp>
14
+
15
+ #ifdef __cplusplus
16
+ extern "C" {
17
+ #endif
18
+
19
+ extern VALUE Protocol_QUIC_TLS_Context;
20
+
21
+ extern const rb_data_type_t Protocol_QUIC_TLS_Context_type;
22
+
23
+ void Init_Protocol_QUIC_TLS_Context(VALUE Protocol_QUIC);
24
+
25
+ #ifdef __cplusplus
26
+ }
27
+ #endif
@@ -0,0 +1,61 @@
1
+ //
2
+ // ServerContext.cpp
3
+ // This file is part of the "Protocol::QUIC" project and released under the MIT License.
4
+ //
5
+ // Created by Samuel Williams on 27/4/2023.
6
+ // Copyright, 2023, by Samuel Williams. All rights reserved.
7
+ //
8
+
9
+ #include "ServerContext.hpp"
10
+ #include "Context.hpp"
11
+
12
+ VALUE Protocol_QUIC_TLS_ServerContext = Qnil;
13
+
14
+ static void Protocol_QUIC_TLS_ServerContext_free(void *data) {
15
+ if (data) {
16
+ delete reinterpret_cast<Protocol::QUIC::TLS::ServerContext *>(data);
17
+ }
18
+ }
19
+
20
+ static size_t Protocol_QUIC_TLS_ServerContext_size(const void *data) {
21
+ return sizeof(Protocol::QUIC::TLS::ServerContext);
22
+ }
23
+
24
+ static const rb_data_type_t Protocol_QUIC_TLS_ServerContext_type = {
25
+ .wrap_struct_name = "Protocol::QUIC::TLS::ServerContext",
26
+ .function = {
27
+ .dmark = NULL,
28
+ .dfree = Protocol_QUIC_TLS_ServerContext_free,
29
+ .dsize = Protocol_QUIC_TLS_ServerContext_size,
30
+ },
31
+ .parent = &Protocol_QUIC_TLS_Context_type,
32
+ .data = NULL,
33
+ .flags = RUBY_TYPED_FREE_IMMEDIATELY,
34
+ };
35
+
36
+ Protocol::QUIC::TLS::ServerContext * Protocol_QUIC_TLS_ServerContext_get(VALUE self)
37
+ {
38
+ Protocol::QUIC::TLS::ServerContext *data;
39
+
40
+ TypedData_Get_Struct(self, Protocol::QUIC::TLS::ServerContext, &Protocol_QUIC_TLS_ServerContext_type, data);
41
+
42
+ return data;
43
+ }
44
+
45
+ static VALUE Protocol_QUIC_TLS_ServerContext_allocate(VALUE klass) {
46
+ return TypedData_Wrap_Struct(klass, &Protocol_QUIC_TLS_ServerContext_type, NULL);
47
+ }
48
+
49
+ static VALUE Protocol_QUIC_TLS_ServerContext_initialize(VALUE self) {
50
+ DATA_PTR(self) = new Protocol::QUIC::TLS::ServerContext();
51
+
52
+ return self;
53
+ }
54
+
55
+ void Init_Protocol_QUIC_TLS_ServerContext(VALUE Protocol_QUIC_TLS) {
56
+ Protocol_QUIC_TLS_ServerContext =
57
+ rb_define_class_under(Protocol_QUIC_TLS, "ServerContext", Protocol_QUIC_TLS_Context);
58
+
59
+ rb_define_alloc_func(Protocol_QUIC_TLS_ServerContext, Protocol_QUIC_TLS_ServerContext_allocate);
60
+ rb_define_method(Protocol_QUIC_TLS_ServerContext, "initialize", Protocol_QUIC_TLS_ServerContext_initialize, 0);
61
+ }
@@ -0,0 +1,27 @@
1
+ //
2
+ // ServerContext.h
3
+ // This file is part of the "Protocol::QUIC" project and released under the MIT License.
4
+ //
5
+ // Created by Samuel Williams on 27/4/2023.
6
+ // Copyright, 2023, by Samuel Williams. All rights reserved.
7
+ //
8
+
9
+ #pragma once
10
+
11
+ #include <ruby.h>
12
+
13
+ #include <Protocol/QUIC/TLS/ServerContext.hpp>
14
+
15
+ #ifdef __cplusplus
16
+ extern "C" {
17
+ #endif
18
+
19
+ extern VALUE Protocol_QUIC_TLS_ServerContext;
20
+
21
+ void Init_Protocol_QUIC_TLS_ServerContext(VALUE Protocol_QUIC_TLS);
22
+
23
+ Protocol::QUIC::TLS::ServerContext * Protocol_QUIC_TLS_ServerContext_get(VALUE self);
24
+
25
+ #ifdef __cplusplus
26
+ }
27
+ #endif
@@ -0,0 +1,36 @@
1
+ #include "QUIC.hpp"
2
+
3
+ #include "QUIC/Connection.hpp"
4
+ #include "QUIC/TLS/Context.hpp"
5
+
6
+ #include "QUIC/Address.hpp"
7
+ #include "QUIC/Dispatcher.hpp"
8
+ #include "QUIC/Configuration.hpp"
9
+ #include "QUIC/PacketHeader.hpp"
10
+ #include "QUIC/Socket.hpp"
11
+
12
+ #include "QUIC/Server.hpp"
13
+ #include "QUIC/Client.hpp"
14
+ #include "QUIC/Stream.hpp"
15
+
16
+ VALUE Protocol_QUIC = Qnil;
17
+
18
+ void Init_Protocol_QUIC(void)
19
+ {
20
+ VALUE Protocol = rb_define_module("Protocol");
21
+ Protocol_QUIC = rb_define_module_under(Protocol, "QUIC");
22
+
23
+ Init_Protocol_QUIC_TLS_Context(Protocol_QUIC);
24
+
25
+ Init_Protocol_QUIC_Address(Protocol_QUIC);
26
+ Init_Protocol_QUIC_Dispatcher(Protocol_QUIC);
27
+ Init_Protocol_QUIC_Configuration(Protocol_QUIC);
28
+ Init_Protocol_QUIC_PacketHeader(Protocol_QUIC);
29
+ Init_Protocol_QUIC_Socket(Protocol_QUIC);
30
+
31
+ Init_Protocol_QUIC_Connection(Protocol_QUIC);
32
+ Init_Protocol_QUIC_Server(Protocol_QUIC);
33
+ Init_Protocol_QUIC_Client(Protocol_QUIC);
34
+
35
+ Init_Protocol_QUIC_Stream(Protocol_QUIC);
36
+ }
@@ -0,0 +1,15 @@
1
+ #pragma once
2
+
3
+ #include <ruby.h>
4
+
5
+ #ifdef __cplusplus
6
+ extern "C" {
7
+ #endif
8
+
9
+ extern VALUE Protocol_QUIC;
10
+
11
+ void Init_Protocol_QUIC(void);
12
+
13
+ #ifdef __cplusplus
14
+ }
15
+ #endif
@@ -7,6 +7,6 @@
7
7
  module Protocol
8
8
  # @namespace
9
9
  module QUIC
10
- VERSION = "0.0.2"
10
+ VERSION = "0.0.3"
11
11
  end
12
12
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: protocol-quic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
@@ -73,6 +73,33 @@ extra_rdoc_files: []
73
73
  files:
74
74
  - ext/rakefile.rb
75
75
  - ext/ruby-protocol-quic-lock.yml
76
+ - ext/source/Protocol/QUIC.cpp
77
+ - ext/source/Protocol/QUIC.hpp
78
+ - ext/source/Protocol/QUIC/Address.cpp
79
+ - ext/source/Protocol/QUIC/Address.hpp
80
+ - ext/source/Protocol/QUIC/Client.cpp
81
+ - ext/source/Protocol/QUIC/Client.hpp
82
+ - ext/source/Protocol/QUIC/Configuration.cpp
83
+ - ext/source/Protocol/QUIC/Configuration.hpp
84
+ - ext/source/Protocol/QUIC/Connection.cpp
85
+ - ext/source/Protocol/QUIC/Connection.hpp
86
+ - ext/source/Protocol/QUIC/Dispatcher.cpp
87
+ - ext/source/Protocol/QUIC/Dispatcher.hpp
88
+ - ext/source/Protocol/QUIC/PacketHeader.cpp
89
+ - ext/source/Protocol/QUIC/PacketHeader.hpp
90
+ - ext/source/Protocol/QUIC/Reference.hpp
91
+ - ext/source/Protocol/QUIC/Server.cpp
92
+ - ext/source/Protocol/QUIC/Server.hpp
93
+ - ext/source/Protocol/QUIC/Socket.cpp
94
+ - ext/source/Protocol/QUIC/Socket.hpp
95
+ - ext/source/Protocol/QUIC/Stream.cpp
96
+ - ext/source/Protocol/QUIC/Stream.hpp
97
+ - ext/source/Protocol/QUIC/TLS/ClientContext.cpp
98
+ - ext/source/Protocol/QUIC/TLS/ClientContext.hpp
99
+ - ext/source/Protocol/QUIC/TLS/Context.cpp
100
+ - ext/source/Protocol/QUIC/TLS/Context.hpp
101
+ - ext/source/Protocol/QUIC/TLS/ServerContext.cpp
102
+ - ext/source/Protocol/QUIC/TLS/ServerContext.hpp
76
103
  - ext/teapot.rb
77
104
  - lib/protocol/quic.rb
78
105
  - lib/protocol/quic/version.rb
metadata.gz.sig CHANGED
Binary file