xbad 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ext/xbad/xbad.c +9 -0
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3b040f5e82df3f21ac0c18bc8cfb6fbd8d21ce3e
|
4
|
+
data.tar.gz: 496906d81a204a7a1493a8e65bf4eb1cd9c7a4de
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 155170d26a537e7431b9e023e3f239c7fc681045282f35a291883f9470f039f5ff915c3b59c16a691700df4ebf58b3182591328d2554edeeca4ab0b987f35aff
|
7
|
+
data.tar.gz: e80f0b09863a03719ff46086aa7349045a4b88f239453c69eecef64e3af3f3fafae5e341ec6b6b4f3a8680363b0fdf49427ea5d906dd0845a0bd0e85ec875dcf
|
data/ext/xbad/xbad.c
CHANGED
@@ -19,7 +19,14 @@ inline struct shared_pool *shared_pool(VALUE obj) {
|
|
19
19
|
return sp;
|
20
20
|
}
|
21
21
|
|
22
|
+
static inline void die_unless_string(VALUE x) {
|
23
|
+
if (TYPE(x) != T_STRING)
|
24
|
+
rb_raise(rb_eTypeError, "invalid type for input %s",rb_obj_classname(x));
|
25
|
+
}
|
26
|
+
|
22
27
|
static VALUE XBAD_store(VALUE self, VALUE key, VALUE value, VALUE _expire_after) {
|
28
|
+
die_unless_string(key);
|
29
|
+
die_unless_string(value);
|
23
30
|
struct shared_pool *sp = shared_pool(self);
|
24
31
|
int expire_after = NUM2INT(_expire_after);
|
25
32
|
if (t_add(sp,RSTRING_PTR(key),RSTRING_LEN(key),RSTRING_PTR(value),RSTRING_LEN(value),expire_after) != 0)
|
@@ -28,6 +35,8 @@ static VALUE XBAD_store(VALUE self, VALUE key, VALUE value, VALUE _expire_after)
|
|
28
35
|
}
|
29
36
|
|
30
37
|
static VALUE XBAD_store_and_broadcast(VALUE self, VALUE key, VALUE value, VALUE _expire_after,VALUE _port) {
|
38
|
+
die_unless_string(key);
|
39
|
+
die_unless_string(value);
|
31
40
|
struct shared_pool *sp = shared_pool(self);
|
32
41
|
int expire_after = NUM2INT(_expire_after);
|
33
42
|
unsigned short port = NUM2INT(_port);
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: xbad
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Borislav Nikolov
|
@@ -24,7 +24,8 @@ dependencies:
|
|
24
24
|
- - '>='
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
|
-
description: xbad - shared memory key/value cache
|
27
|
+
description: xbad - shared memory key/value cache using shared memory and udp broadcasts
|
28
|
+
for distribution
|
28
29
|
email: jack@sofialondonmoskva.com
|
29
30
|
executables: []
|
30
31
|
extensions:
|
@@ -56,5 +57,5 @@ rubyforge_project:
|
|
56
57
|
rubygems_version: 2.0.3
|
57
58
|
signing_key:
|
58
59
|
specification_version: 4
|
59
|
-
summary: xbad - shared memory key/value
|
60
|
+
summary: xbad - shared memory key/value cache
|
60
61
|
test_files: []
|