gossiperl_client 0.2.0 → 0.2.1
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 +8 -8
- data/README.md +1 -7
- data/lib/gossiperl_client/overlay_worker.rb +10 -2
- data/lib/gossiperl_client/serialization/serializer.rb +9 -18
- data/lib/gossiperl_client/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
YmQ1NjZiZTBiOTY2NzdhMzBiMDkwZDNiM2M1NGNjNzQ0OTMzOGI4YQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
OGIyN2VlMGM3Y2M0MzBjNjI1ODJmYTQxMWNiZTVmYWFkY2NjYzk0YQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
YmE5MjQ5YzBhZWNhZmIwYTkyMTIxY2Q0MjljNjY2NTZlOWQ5NzUzOGMyNDVh
|
10
|
+
NWRiYzQzMWE4MTUzNTU4YWM1ZWZkYjgzMGVkYmFkYWQ2ZTIxZTQ3YzdmNDZl
|
11
|
+
NTFiM2Y2MWE2M2RjYTk3Mzg1MzVhMDFjMzdiZmZlYzJjMTBjZGU=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
MjcyNzgxYjNiZjFhZjA5N2Y3MTBmYzE5YzE5NjQ5MmUzMTVmMWQzZWI5MDNl
|
14
|
+
MmJhYzU3MjMxODIxYjBiMGFiZDk5YzM1NWVmNGQ0N2IxMGYwZDgzZjI2Yzc1
|
15
|
+
MjUwMTFmNDlmMTJlNzVlNTA3ZmU5ZDFjNDFmYjNiNzdkY2NlZGI=
|
data/README.md
CHANGED
@@ -103,10 +103,8 @@ Or in a block:
|
|
103
103
|
:property => { :value => <value>, :type => <thrift-type-as-string>, :field_id => <field-order> }
|
104
104
|
} )
|
105
105
|
|
106
|
-
Where `:type` is one of the Thrift types:
|
106
|
+
Where `:type` is one of the supported Thrift types:
|
107
107
|
|
108
|
-
- `:stop`
|
109
|
-
- `:void`
|
110
108
|
- `:bool`
|
111
109
|
- `:byte`
|
112
110
|
- `:double`
|
@@ -114,10 +112,6 @@ Where `:type` is one of the Thrift types:
|
|
114
112
|
- `:i32`
|
115
113
|
- `:i64`
|
116
114
|
- `:string`
|
117
|
-
- `:struct`
|
118
|
-
- `:map`
|
119
|
-
- `:set`
|
120
|
-
- `:list`
|
121
115
|
|
122
116
|
And `:field_id` is a Thrift field ID.
|
123
117
|
|
@@ -64,8 +64,16 @@ module Gossiperl
|
|
64
64
|
end
|
65
65
|
|
66
66
|
def send digest_type, digest_data
|
67
|
-
|
68
|
-
|
67
|
+
begin
|
68
|
+
serialized = self.messaging.transport.serializer.serialize_arbitrary( digest_type, digest_data )
|
69
|
+
self.messaging.send serialized
|
70
|
+
rescue ArgumentError => e
|
71
|
+
process_event( { :event => :failed,
|
72
|
+
:error => { :serialize_arbitrary => e } } )
|
73
|
+
rescue StandardError => e2
|
74
|
+
process_event( { :event => :failed,
|
75
|
+
:error => { :serialize_arbitrary => e2 } } )
|
76
|
+
end
|
69
77
|
end
|
70
78
|
|
71
79
|
end
|
@@ -5,7 +5,6 @@ module Gossiperl
|
|
5
5
|
module Client
|
6
6
|
module Serialization
|
7
7
|
class Serializer
|
8
|
-
include ::Thrift::Struct_Union
|
9
8
|
|
10
9
|
def serialize_arbitrary digest_type, digest_data
|
11
10
|
transport = ::Thrift::MemoryBufferTransport.new()
|
@@ -14,14 +13,10 @@ module Gossiperl
|
|
14
13
|
digest_data.each_key{|key|
|
15
14
|
value = digest_data[key][:value]
|
16
15
|
type = self.type_to_thrift_type( digest_data[key][:type] )
|
17
|
-
unless
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
protocol.write_field_end
|
22
|
-
else
|
23
|
-
protocol.write_field({ :type => type, :name => key.to_s }, digest_data[key][:field_id], value )
|
24
|
-
end
|
16
|
+
unless type.nil?
|
17
|
+
protocol.write_field({ :type => type, :name => key.to_s }, digest_data[key][:field_id], value )
|
18
|
+
else
|
19
|
+
raise ArgumentError.new("Unsupported serializable type #{digest_data[key][:type]} for field #{key.to_s}.")
|
25
20
|
end
|
26
21
|
}
|
27
22
|
protocol.write_field_stop
|
@@ -108,21 +103,17 @@ module Gossiperl
|
|
108
103
|
end
|
109
104
|
|
110
105
|
def type_to_thrift_type type
|
111
|
-
|
112
|
-
|
113
|
-
:void => ::Thrift::Types::VOID,
|
106
|
+
type = type.to_sym
|
107
|
+
serializable_thrift_types = {
|
114
108
|
:bool => ::Thrift::Types::BOOL,
|
115
109
|
:byte => ::Thrift::Types::BYTE,
|
116
110
|
:double => ::Thrift::Types::DOUBLE,
|
117
111
|
:i16 => ::Thrift::Types::I16,
|
118
112
|
:i32 => ::Thrift::Types::I32,
|
119
113
|
:i64 => ::Thrift::Types::I64,
|
120
|
-
:string => ::Thrift::Types::STRING
|
121
|
-
|
122
|
-
|
123
|
-
:set => ::Thrift::Types::SET,
|
124
|
-
:list => ::Thrift::Types::LIST,
|
125
|
-
})[ type.to_sym ]
|
114
|
+
:string => ::Thrift::Types::STRING }
|
115
|
+
return (serializable_thrift_types)[ type ] if serializable_thrift_types.has_key? type
|
116
|
+
return nil
|
126
117
|
end
|
127
118
|
|
128
119
|
end
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: !binary |-
|
3
3
|
Z29zc2lwZXJsX2NsaWVudA==
|
4
4
|
version: !ruby/object:Gem::Version
|
5
|
-
version: 0.2.
|
5
|
+
version: 0.2.1
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- !binary |-
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2014-12-
|
13
|
+
date: 2014-12-22 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: !binary |-
|