cool.io 1.8.0 → 1.9.0
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/.github/workflows/test.yaml +3 -0
- data/.gitignore +1 -0
- data/Rakefile +0 -5
- data/cool.io.gemspec +2 -2
- data/ext/{iobuffer/iobuffer.c → cool.io/buffer.c} +80 -76
- data/ext/cool.io/cool.io.h +1 -0
- data/ext/cool.io/cool.io_ext.c +1 -0
- data/ext/cool.io/extconf.rb +6 -1
- data/ext/libev/ev.c +1 -1
- data/{Gemfile → gems.rb} +5 -0
- data/lib/cool.io/io.rb +1 -1
- data/lib/cool.io/socket.rb +1 -1
- data/lib/cool.io/version.rb +1 -1
- data/lib/cool.io.rb +0 -1
- data/spec/iobuffer_spec.rb +2 -2
- metadata +6 -9
- data/.travis.yml +0 -16
- data/ext/iobuffer/extconf.rb +0 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e56b06dac89092ba3fb69d7705788b4aecb51a205075b47afa6b8ff946f8bfa6
|
4
|
+
data.tar.gz: d9ff9ac907b8eb86d3158d893acdcc0f64c58985ae2ccfeeafbcc9c2a5e366a4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b9d3c85e07f9f439c86be0572d4c455a429fbb2b8fd5b1cbdb87cd0fdca1c629060515074751eecb92357b365edf05c8b0cc79ce63ca4d6188e4eeca903cf95e
|
7
|
+
data.tar.gz: 942c188b705d59f6aa0c9d028d87b17722f9cba55c317cfb1be8f7548562c68e1467c8ec5664297cbb575fd1f6997875311d1a35d76efb772c4f50c87c20aa94
|
data/.github/workflows/test.yaml
CHANGED
@@ -15,15 +15,18 @@ jobs:
|
|
15
15
|
continue-on-error: ${{matrix.experimental}}
|
16
16
|
|
17
17
|
strategy:
|
18
|
+
fail-fast: false
|
18
19
|
matrix:
|
19
20
|
os:
|
20
21
|
- ubuntu
|
21
22
|
- macos
|
23
|
+
- windows
|
22
24
|
|
23
25
|
ruby:
|
24
26
|
- "3.0"
|
25
27
|
- "3.1"
|
26
28
|
- "3.2"
|
29
|
+
- "3.3"
|
27
30
|
- "head"
|
28
31
|
|
29
32
|
experimental: [false]
|
data/.gitignore
CHANGED
data/Rakefile
CHANGED
@@ -31,11 +31,6 @@ def configure_cross_compilation(ext)
|
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
34
|
-
Rake::ExtensionTask.new('iobuffer_ext', spec) do |ext|
|
35
|
-
ext.ext_dir = 'ext/iobuffer'
|
36
|
-
configure_cross_compilation(ext)
|
37
|
-
end
|
38
|
-
|
39
34
|
Rake::ExtensionTask.new('cool.io_ext', spec) do |ext|
|
40
35
|
ext.ext_dir = 'ext/cool.io'
|
41
36
|
configure_cross_compilation(ext)
|
data/cool.io.gemspec
CHANGED
@@ -7,10 +7,10 @@ Gem::Specification.new do |s|
|
|
7
7
|
s.version = Coolio::VERSION
|
8
8
|
s.authors = ["Tony Arcieri", "Masahiro Nakagawa"]
|
9
9
|
s.email = ["tony.arcieri@gmail.com", "repeatedly@gmail.com"]
|
10
|
-
s.homepage = "
|
10
|
+
s.homepage = "https://github.com/socketry/cool.io"
|
11
11
|
s.summary = "A cool framework for doing high performance I/O in Ruby"
|
12
12
|
s.description = "Cool.io provides a high performance event framework for Ruby which uses the libev C library"
|
13
|
-
s.extensions = ["ext/cool.io/extconf.rb"
|
13
|
+
s.extensions = ["ext/cool.io/extconf.rb"]
|
14
14
|
s.licenses = ["MIT"]
|
15
15
|
|
16
16
|
s.files = `git ls-files`.split("\n")
|
@@ -43,25 +43,26 @@ struct buffer_node {
|
|
43
43
|
unsigned char data[0];
|
44
44
|
};
|
45
45
|
|
46
|
-
static VALUE
|
47
|
-
|
48
|
-
|
49
|
-
static
|
50
|
-
static void
|
51
|
-
|
52
|
-
|
53
|
-
static VALUE
|
54
|
-
static VALUE
|
55
|
-
static VALUE
|
56
|
-
static VALUE
|
57
|
-
static VALUE
|
58
|
-
static VALUE
|
59
|
-
static VALUE
|
60
|
-
static VALUE
|
61
|
-
static VALUE
|
62
|
-
static VALUE
|
63
|
-
static VALUE
|
64
|
-
static VALUE
|
46
|
+
static VALUE mCoolio = Qnil;
|
47
|
+
static VALUE cCoolio_Buffer = Qnil;
|
48
|
+
|
49
|
+
static VALUE Coolio_Buffer_allocate(VALUE klass);
|
50
|
+
static void Coolio_Buffer_mark(struct buffer *);
|
51
|
+
static void Coolio_Buffer_free(struct buffer *);
|
52
|
+
|
53
|
+
static VALUE Coolio_Buffer_default_node_size(VALUE klass);
|
54
|
+
static VALUE Coolio_Buffer_set_default_node_size(VALUE klass, VALUE size);
|
55
|
+
static VALUE Coolio_Buffer_initialize(int argc, VALUE * argv, VALUE self);
|
56
|
+
static VALUE Coolio_Buffer_clear(VALUE self);
|
57
|
+
static VALUE Coolio_Buffer_size(VALUE self);
|
58
|
+
static VALUE Coolio_Buffer_empty(VALUE self);
|
59
|
+
static VALUE Coolio_Buffer_append(VALUE self, VALUE data);
|
60
|
+
static VALUE Coolio_Buffer_prepend(VALUE self, VALUE data);
|
61
|
+
static VALUE Coolio_Buffer_read(int argc, VALUE * argv, VALUE self);
|
62
|
+
static VALUE Coolio_Buffer_read_frame(VALUE self, VALUE data, VALUE mark);
|
63
|
+
static VALUE Coolio_Buffer_to_str(VALUE self);
|
64
|
+
static VALUE Coolio_Buffer_read_from(VALUE self, VALUE io);
|
65
|
+
static VALUE Coolio_Buffer_write_to(VALUE self, VALUE io);
|
65
66
|
|
66
67
|
static struct buffer *buffer_new(void);
|
67
68
|
static void buffer_clear(struct buffer * buf);
|
@@ -83,60 +84,63 @@ static int buffer_write_to(struct buffer * buf, int fd);
|
|
83
84
|
* Ruby IO objects.
|
84
85
|
*/
|
85
86
|
void
|
86
|
-
|
87
|
+
Init_coolio_buffer()
|
87
88
|
{
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
rb_define_method(
|
100
|
-
rb_define_method(
|
101
|
-
rb_define_method(
|
102
|
-
rb_define_method(
|
103
|
-
rb_define_method(
|
104
|
-
rb_define_method(
|
105
|
-
rb_define_method(
|
106
|
-
rb_define_method(
|
107
|
-
rb_define_method(
|
108
|
-
rb_define_method(
|
109
|
-
|
110
|
-
|
89
|
+
VALUE cCoolio_IO;
|
90
|
+
|
91
|
+
mCoolio = rb_define_module("Coolio");
|
92
|
+
cCoolio_Buffer = rb_define_class_under(mCoolio, "Buffer", rb_cObject);
|
93
|
+
rb_define_alloc_func(cCoolio_Buffer, Coolio_Buffer_allocate);
|
94
|
+
|
95
|
+
rb_define_singleton_method(cCoolio_Buffer, "default_node_size",
|
96
|
+
Coolio_Buffer_default_node_size, 0);
|
97
|
+
rb_define_singleton_method(cCoolio_Buffer, "default_node_size=",
|
98
|
+
Coolio_Buffer_set_default_node_size, 1);
|
99
|
+
|
100
|
+
rb_define_method(cCoolio_Buffer, "initialize", Coolio_Buffer_initialize, -1);
|
101
|
+
rb_define_method(cCoolio_Buffer, "clear", Coolio_Buffer_clear, 0);
|
102
|
+
rb_define_method(cCoolio_Buffer, "size", Coolio_Buffer_size, 0);
|
103
|
+
rb_define_method(cCoolio_Buffer, "empty?", Coolio_Buffer_empty, 0);
|
104
|
+
rb_define_method(cCoolio_Buffer, "<<", Coolio_Buffer_append, 1);
|
105
|
+
rb_define_method(cCoolio_Buffer, "append", Coolio_Buffer_append, 1);
|
106
|
+
rb_define_method(cCoolio_Buffer, "write", Coolio_Buffer_append, 1);
|
107
|
+
rb_define_method(cCoolio_Buffer, "prepend", Coolio_Buffer_prepend, 1);
|
108
|
+
rb_define_method(cCoolio_Buffer, "read", Coolio_Buffer_read, -1);
|
109
|
+
rb_define_method(cCoolio_Buffer, "read_frame", Coolio_Buffer_read_frame, 2);
|
110
|
+
rb_define_method(cCoolio_Buffer, "to_str", Coolio_Buffer_to_str, 0);
|
111
|
+
rb_define_method(cCoolio_Buffer, "read_from", Coolio_Buffer_read_from, 1);
|
112
|
+
rb_define_method(cCoolio_Buffer, "write_to", Coolio_Buffer_write_to, 1);
|
113
|
+
|
114
|
+
rb_define_const(cCoolio_Buffer, "MAX_SIZE", INT2NUM(MAX_BUFFER_SIZE));
|
111
115
|
}
|
112
116
|
|
113
117
|
static VALUE
|
114
|
-
|
118
|
+
Coolio_Buffer_allocate(VALUE klass)
|
115
119
|
{
|
116
|
-
return Data_Wrap_Struct(klass,
|
120
|
+
return Data_Wrap_Struct(klass, Coolio_Buffer_mark, Coolio_Buffer_free, buffer_new());
|
117
121
|
}
|
118
122
|
|
119
123
|
static void
|
120
|
-
|
124
|
+
Coolio_Buffer_mark(struct buffer * buf)
|
121
125
|
{
|
122
126
|
/* Naively discard the memory pool whenever Ruby garbage collects */
|
123
127
|
buffer_free_pool(buf);
|
124
128
|
}
|
125
129
|
|
126
130
|
static void
|
127
|
-
|
131
|
+
Coolio_Buffer_free(struct buffer * buf)
|
128
132
|
{
|
129
133
|
buffer_free(buf);
|
130
134
|
}
|
131
135
|
|
132
136
|
/**
|
133
137
|
* call-seq:
|
134
|
-
*
|
138
|
+
* Coolio::Buffer.default_node_size -> 4096
|
135
139
|
*
|
136
140
|
* Retrieves the current value of the default node size.
|
137
141
|
*/
|
138
142
|
static VALUE
|
139
|
-
|
143
|
+
Coolio_Buffer_default_node_size(VALUE klass)
|
140
144
|
{
|
141
145
|
return UINT2NUM(default_node_size);
|
142
146
|
}
|
@@ -159,12 +163,12 @@ convert_node_size(VALUE size)
|
|
159
163
|
|
160
164
|
/**
|
161
165
|
* call-seq:
|
162
|
-
*
|
166
|
+
* Coolio::Buffer.default_node_size = 16384
|
163
167
|
*
|
164
|
-
* Sets the default node size for calling
|
168
|
+
* Sets the default node size for calling Coolio::Buffer.new with no arguments.
|
165
169
|
*/
|
166
170
|
static VALUE
|
167
|
-
|
171
|
+
Coolio_Buffer_set_default_node_size(VALUE klass, VALUE size)
|
168
172
|
{
|
169
173
|
default_node_size = convert_node_size(size);
|
170
174
|
|
@@ -173,12 +177,12 @@ IO_Buffer_set_default_node_size(VALUE klass, VALUE size)
|
|
173
177
|
|
174
178
|
/**
|
175
179
|
* call-seq:
|
176
|
-
*
|
180
|
+
* Coolio::Buffer.new(size = Coolio::Buffer.default_node_size) -> Coolio::Buffer
|
177
181
|
*
|
178
|
-
* Create a new
|
182
|
+
* Create a new Coolio::Buffer with linked segments of the given size
|
179
183
|
*/
|
180
184
|
static VALUE
|
181
|
-
|
185
|
+
Coolio_Buffer_initialize(int argc, VALUE * argv, VALUE self)
|
182
186
|
{
|
183
187
|
VALUE node_size_obj;
|
184
188
|
struct buffer *buf;
|
@@ -200,12 +204,12 @@ IO_Buffer_initialize(int argc, VALUE * argv, VALUE self)
|
|
200
204
|
|
201
205
|
/**
|
202
206
|
* call-seq:
|
203
|
-
*
|
207
|
+
* Coolio::Buffer#clear -> nil
|
204
208
|
*
|
205
|
-
* Clear all data from the
|
209
|
+
* Clear all data from the Coolio::Buffer
|
206
210
|
*/
|
207
211
|
static VALUE
|
208
|
-
|
212
|
+
Coolio_Buffer_clear(VALUE self)
|
209
213
|
{
|
210
214
|
struct buffer *buf;
|
211
215
|
Data_Get_Struct(self, struct buffer, buf);
|
@@ -217,12 +221,12 @@ IO_Buffer_clear(VALUE self)
|
|
217
221
|
|
218
222
|
/**
|
219
223
|
* call-seq:
|
220
|
-
*
|
224
|
+
* Coolio::Buffer#size -> Integer
|
221
225
|
*
|
222
226
|
* Return the size of the buffer in bytes
|
223
227
|
*/
|
224
228
|
static VALUE
|
225
|
-
|
229
|
+
Coolio_Buffer_size(VALUE self)
|
226
230
|
{
|
227
231
|
struct buffer *buf;
|
228
232
|
Data_Get_Struct(self, struct buffer, buf);
|
@@ -232,12 +236,12 @@ IO_Buffer_size(VALUE self)
|
|
232
236
|
|
233
237
|
/**
|
234
238
|
* call-seq:
|
235
|
-
*
|
239
|
+
* Coolio::Buffer#empty? -> Boolean
|
236
240
|
*
|
237
241
|
* Is the buffer empty?
|
238
242
|
*/
|
239
243
|
static VALUE
|
240
|
-
|
244
|
+
Coolio_Buffer_empty(VALUE self)
|
241
245
|
{
|
242
246
|
struct buffer *buf;
|
243
247
|
Data_Get_Struct(self, struct buffer, buf);
|
@@ -247,12 +251,12 @@ IO_Buffer_empty(VALUE self)
|
|
247
251
|
|
248
252
|
/**
|
249
253
|
* call-seq:
|
250
|
-
*
|
254
|
+
* Coolio::Buffer#append(data) -> String
|
251
255
|
*
|
252
256
|
* Append the given data to the end of the buffer
|
253
257
|
*/
|
254
258
|
static VALUE
|
255
|
-
|
259
|
+
Coolio_Buffer_append(VALUE self, VALUE data)
|
256
260
|
{
|
257
261
|
struct buffer *buf;
|
258
262
|
Data_Get_Struct(self, struct buffer, buf);
|
@@ -266,12 +270,12 @@ IO_Buffer_append(VALUE self, VALUE data)
|
|
266
270
|
|
267
271
|
/**
|
268
272
|
* call-seq:
|
269
|
-
*
|
273
|
+
* Coolio::Buffer#prepend(data) -> String
|
270
274
|
*
|
271
275
|
* Prepend the given data to the beginning of the buffer
|
272
276
|
*/
|
273
277
|
static VALUE
|
274
|
-
|
278
|
+
Coolio_Buffer_prepend(VALUE self, VALUE data)
|
275
279
|
{
|
276
280
|
struct buffer *buf;
|
277
281
|
Data_Get_Struct(self, struct buffer, buf);
|
@@ -284,7 +288,7 @@ IO_Buffer_prepend(VALUE self, VALUE data)
|
|
284
288
|
|
285
289
|
/**
|
286
290
|
* call-seq:
|
287
|
-
*
|
291
|
+
* Coolio::Buffer#read(length = nil) -> String
|
288
292
|
*
|
289
293
|
* Read the specified abount of data from the buffer. If no value
|
290
294
|
* is given the entire contents of the buffer are returned. Any data
|
@@ -294,7 +298,7 @@ IO_Buffer_prepend(VALUE self, VALUE data)
|
|
294
298
|
* the given length).
|
295
299
|
*/
|
296
300
|
static VALUE
|
297
|
-
|
301
|
+
Coolio_Buffer_read(int argc, VALUE * argv, VALUE self)
|
298
302
|
{
|
299
303
|
VALUE length_obj, str;
|
300
304
|
int length;
|
@@ -322,7 +326,7 @@ IO_Buffer_read(int argc, VALUE * argv, VALUE self)
|
|
322
326
|
|
323
327
|
/**
|
324
328
|
* call-seq:
|
325
|
-
*
|
329
|
+
* Coolio::Buffer#read_frame(str, mark) -> boolean
|
326
330
|
*
|
327
331
|
* Read up to and including the given frame marker (expressed a a
|
328
332
|
* Fixnum 0-255) byte, copying into the supplied string object. If the mark is
|
@@ -331,7 +335,7 @@ IO_Buffer_read(int argc, VALUE * argv, VALUE self)
|
|
331
335
|
*
|
332
336
|
*/
|
333
337
|
static VALUE
|
334
|
-
|
338
|
+
Coolio_Buffer_read_frame(VALUE self, VALUE data, VALUE mark)
|
335
339
|
{
|
336
340
|
char mark_c = (char) NUM2INT(mark);
|
337
341
|
struct buffer *buf;
|
@@ -347,12 +351,12 @@ IO_Buffer_read_frame(VALUE self, VALUE data, VALUE mark)
|
|
347
351
|
|
348
352
|
/**
|
349
353
|
* call-seq:
|
350
|
-
*
|
354
|
+
* Coolio::Buffer#to_str -> String
|
351
355
|
*
|
352
356
|
* Convert the Buffer to a String. The original buffer is unmodified.
|
353
357
|
*/
|
354
358
|
static VALUE
|
355
|
-
|
359
|
+
Coolio_Buffer_to_str(VALUE self)
|
356
360
|
{
|
357
361
|
VALUE str;
|
358
362
|
struct buffer *buf;
|
@@ -367,14 +371,14 @@ IO_Buffer_to_str(VALUE self)
|
|
367
371
|
|
368
372
|
/**
|
369
373
|
* call-seq:
|
370
|
-
*
|
374
|
+
* Coolio::Buffer#read_from(io) -> Integer
|
371
375
|
*
|
372
376
|
* Perform a nonblocking read of the the given IO object and fill
|
373
377
|
* the buffer with any data received. The call will read as much
|
374
378
|
* data as it can until the read would block.
|
375
379
|
*/
|
376
380
|
static VALUE
|
377
|
-
|
381
|
+
Coolio_Buffer_read_from(VALUE self, VALUE io)
|
378
382
|
{
|
379
383
|
struct buffer *buf;
|
380
384
|
int ret;
|
@@ -399,14 +403,14 @@ IO_Buffer_read_from(VALUE self, VALUE io)
|
|
399
403
|
|
400
404
|
/**
|
401
405
|
* call-seq:
|
402
|
-
*
|
406
|
+
* Coolio::Buffer#write_to(io) -> Integer
|
403
407
|
*
|
404
408
|
* Perform a nonblocking write of the buffer to the given IO object.
|
405
409
|
* As much data as possible is written until the call would block.
|
406
410
|
* Any data which is written is removed from the buffer.
|
407
411
|
*/
|
408
412
|
static VALUE
|
409
|
-
|
413
|
+
Coolio_Buffer_write_to(VALUE self, VALUE io)
|
410
414
|
{
|
411
415
|
struct buffer *buf;
|
412
416
|
#if defined(HAVE_RB_IO_T) || defined(HAVE_RB_IO_DESCRIPTOR)
|
data/ext/cool.io/cool.io.h
CHANGED
data/ext/cool.io/cool.io_ext.c
CHANGED
data/ext/cool.io/extconf.rb
CHANGED
@@ -11,6 +11,12 @@ have_func('rb_thread_alone')
|
|
11
11
|
have_func('rb_str_set_len')
|
12
12
|
have_library('rt', 'clock_gettime')
|
13
13
|
|
14
|
+
have_func("rb_io_descriptor")
|
15
|
+
have_library("c", "main")
|
16
|
+
if have_macro("HAVE_RB_IO_T", "ruby/io.h")
|
17
|
+
have_struct_member("rb_io_t", "fd", "ruby/io.h")
|
18
|
+
end
|
19
|
+
|
14
20
|
if have_header('ruby/io.h')
|
15
21
|
$defs << '-DHAVE_RUBY_IO_H'
|
16
22
|
end
|
@@ -72,4 +78,3 @@ if RUBY_PLATFORM =~ /mingw|mswin/
|
|
72
78
|
makefile_contents.gsub! /LIBS = (.*) (\S*ws2_32\S*)/i, 'LIBS = \\2 \\1'
|
73
79
|
File.open('Makefile', 'w') { |f| f.write makefile_contents }
|
74
80
|
end
|
75
|
-
|
data/ext/libev/ev.c
CHANGED
@@ -2481,7 +2481,7 @@ evpipe_write (EV_P_ EV_ATOMIC_T *flag)
|
|
2481
2481
|
#ifdef _WIN32
|
2482
2482
|
WSABUF buf;
|
2483
2483
|
DWORD sent;
|
2484
|
-
buf.buf = &buf;
|
2484
|
+
buf.buf = (char *)&buf;
|
2485
2485
|
buf.len = 1;
|
2486
2486
|
WSASend (EV_FD_TO_WIN32_HANDLE (evpipe [1]), &buf, 1, &sent, 0, 0, 0);
|
2487
2487
|
#else
|
data/{Gemfile → gems.rb}
RENAMED
data/lib/cool.io/io.rb
CHANGED
data/lib/cool.io/socket.rb
CHANGED
@@ -130,7 +130,7 @@ module Coolio
|
|
130
130
|
|
131
131
|
# Called by precreate during asyncronous DNS resolution
|
132
132
|
def preinitialize(addr, port, *args)
|
133
|
-
@_write_buffer = ::
|
133
|
+
@_write_buffer = ::Coolio::Buffer.new # allow for writing BEFORE DNS has resolved
|
134
134
|
@remote_host, @remote_addr, @remote_port = addr, addr, port
|
135
135
|
@_resolver = TCPConnectResolver.new(self, addr, port, *args)
|
136
136
|
end
|
data/lib/cool.io/version.rb
CHANGED
data/lib/cool.io.rb
CHANGED
data/spec/iobuffer_spec.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cool.io
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tony Arcieri
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2024-10-02 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake-compiler
|
@@ -75,15 +75,12 @@ email:
|
|
75
75
|
executables: []
|
76
76
|
extensions:
|
77
77
|
- ext/cool.io/extconf.rb
|
78
|
-
- ext/iobuffer/extconf.rb
|
79
78
|
extra_rdoc_files: []
|
80
79
|
files:
|
81
80
|
- ".github/workflows/test.yaml"
|
82
81
|
- ".gitignore"
|
83
82
|
- ".rspec"
|
84
|
-
- ".travis.yml"
|
85
83
|
- CHANGES.md
|
86
|
-
- Gemfile
|
87
84
|
- LICENSE
|
88
85
|
- README.md
|
89
86
|
- Rakefile
|
@@ -96,6 +93,7 @@ files:
|
|
96
93
|
- examples/echo_server.rb
|
97
94
|
- examples/google.rb
|
98
95
|
- ext/cool.io/.gitignore
|
96
|
+
- ext/cool.io/buffer.c
|
99
97
|
- ext/cool.io/cool.io.h
|
100
98
|
- ext/cool.io/cool.io_ext.c
|
101
99
|
- ext/cool.io/ev_wrap.h
|
@@ -108,8 +106,6 @@ files:
|
|
108
106
|
- ext/cool.io/utils.c
|
109
107
|
- ext/cool.io/watcher.c
|
110
108
|
- ext/cool.io/watcher.h
|
111
|
-
- ext/iobuffer/extconf.rb
|
112
|
-
- ext/iobuffer/iobuffer.c
|
113
109
|
- ext/libev/Changes
|
114
110
|
- ext/libev/LICENSE
|
115
111
|
- ext/libev/README
|
@@ -125,6 +121,7 @@ files:
|
|
125
121
|
- ext/libev/ev_win32.c
|
126
122
|
- ext/libev/ev_wrap.h
|
127
123
|
- ext/libev/test_libev_win32.c
|
124
|
+
- gems.rb
|
128
125
|
- lib/.gitignore
|
129
126
|
- lib/cool.io.rb
|
130
127
|
- lib/cool.io/async_watcher.rb
|
@@ -154,7 +151,7 @@ files:
|
|
154
151
|
- spec/udp_socket_spec.rb
|
155
152
|
- spec/unix_listener_spec.rb
|
156
153
|
- spec/unix_server_spec.rb
|
157
|
-
homepage:
|
154
|
+
homepage: https://github.com/socketry/cool.io
|
158
155
|
licenses:
|
159
156
|
- MIT
|
160
157
|
metadata: {}
|
@@ -173,7 +170,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
173
170
|
- !ruby/object:Gem::Version
|
174
171
|
version: '0'
|
175
172
|
requirements: []
|
176
|
-
rubygems_version: 3.
|
173
|
+
rubygems_version: 3.5.11
|
177
174
|
signing_key:
|
178
175
|
specification_version: 4
|
179
176
|
summary: A cool framework for doing high performance I/O in Ruby
|
data/.travis.yml
DELETED
data/ext/iobuffer/extconf.rb
DELETED