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 CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- OTVkOTY2ZjdjOWZlMGY4N2ZiNmMwMGM3ZTczNDM1NjM3OGRjYTllNA==
4
+ YmQ1NjZiZTBiOTY2NzdhMzBiMDkwZDNiM2M1NGNjNzQ0OTMzOGI4YQ==
5
5
  data.tar.gz: !binary |-
6
- M2MyNTcyYmYwOGE4NDIyMmNjYWRlZDY2MTM1NmZmMDFmMGExNDdiOA==
6
+ OGIyN2VlMGM3Y2M0MzBjNjI1ODJmYTQxMWNiZTVmYWFkY2NjYzk0YQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- MDZmMGQzNGUyODk5NTlkZTQzNzY0YTU3MDQwOTcxMTc0NGI1MGUwOWY3MWFj
10
- ZTlkODRkMjI5M2QwNWZhOWMyMWRlOGFmMmM1YWRkZjQ0YmYwZGRkOWU0ZDU2
11
- MzczYTA2ZWNkZWQ5ZjJkYjZlNmZiZGUzNzgyN2ZkNGYxYzRmMGI=
9
+ YmE5MjQ5YzBhZWNhZmIwYTkyMTIxY2Q0MjljNjY2NTZlOWQ5NzUzOGMyNDVh
10
+ NWRiYzQzMWE4MTUzNTU4YWM1ZWZkYjgzMGVkYmFkYWQ2ZTIxZTQ3YzdmNDZl
11
+ NTFiM2Y2MWE2M2RjYTk3Mzg1MzVhMDFjMzdiZmZlYzJjMTBjZGU=
12
12
  data.tar.gz: !binary |-
13
- NjRiZDlmODlkNjhmOTQ5ZjM2MjVjNjE3OTRjZWM3MTIxYmI3ZGIwMjM1N2I5
14
- MjliMWYyOWNlZjJkNDY4YzM3MWEzZTFjMTJiODBkMWIzMzNlMTRhMjQ2Mjhi
15
- OTJiMzEyYjM3Y2M4MTU4YzM4YzI0M2U4OGE3YjhmM2YwNjgwMTA=
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
- serialized = self.messaging.transport.serializer.serialize_arbitrary( digest_type, digest_data )
68
- self.messaging.send serialized
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 value.nil?
18
- if is_container? type
19
- protocol.write_field_begin(key.to_s, digest_data[key][:value], digest_data[key][:field_id])
20
- write_container( protocol, value, { :type => type, :name => key.to_s } )
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
- return ({
112
- :stop => ::Thrift::Types::STOP,
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
- :struct => ::Thrift::Types::STRUCT,
122
- :map => ::Thrift::Types::MAP,
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
@@ -2,7 +2,7 @@
2
2
  module Gossiperl
3
3
  module Client
4
4
  module Version
5
- VERSION = '0.2.0'
5
+ VERSION = '0.2.1'
6
6
  MAJOR, MINOR, TINY = VERSION.split('.')
7
7
  end
8
8
  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.0
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-20 00:00:00.000000000 Z
13
+ date: 2014-12-22 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: !binary |-