ffwd 0.1.6 → 0.1.7
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.
- data/lib/ffwd/handler.rb +3 -0
- data/lib/ffwd/protocol/udp/connect.rb +16 -7
- data/lib/ffwd/version.rb +1 -1
- metadata +68 -58
- checksums.yaml +0 -7
data/lib/ffwd/handler.rb
CHANGED
@@ -18,6 +18,8 @@ require_relative 'connection'
|
|
18
18
|
module FFWD
|
19
19
|
# Handlers are used by output plugins based of the protocol stack.
|
20
20
|
class Handler < FFWD::Connection
|
21
|
+
attr_accessor :parent
|
22
|
+
|
21
23
|
def self.new signature, parent, *args
|
22
24
|
instance = super(signature, *args)
|
23
25
|
|
@@ -36,6 +38,7 @@ module FFWD
|
|
36
38
|
@parent.connection_completed
|
37
39
|
end
|
38
40
|
|
41
|
+
def close; end
|
39
42
|
def send_all events, metrics; end
|
40
43
|
def send_event event; end
|
41
44
|
def send_metric metric; end
|
@@ -20,6 +20,8 @@ module FFWD::UDP
|
|
20
20
|
class Connect
|
21
21
|
include FFWD::Reporter
|
22
22
|
|
23
|
+
RESOLVE_TIMEOUT = 10
|
24
|
+
|
23
25
|
attr_reader :reporter_meta, :log
|
24
26
|
|
25
27
|
setup_reporter :keys => [
|
@@ -38,20 +40,21 @@ module FFWD::UDP
|
|
38
40
|
@c = nil
|
39
41
|
@peer = "#{host}:#{port}"
|
40
42
|
@reporter_meta = {
|
41
|
-
:type => @handler.
|
43
|
+
:type => @handler.plugin_type, :peer => @peer
|
42
44
|
}
|
43
45
|
|
44
46
|
info = "udp://#{@peer}"
|
45
47
|
|
46
48
|
subs = []
|
47
49
|
|
48
|
-
r = FFWD.retry :timeout =>
|
50
|
+
r = FFWD.retry :timeout => RESOLVE_TIMEOUT do |a|
|
49
51
|
unless @host_ip
|
50
52
|
@host_ip = resolve_ip @host
|
51
53
|
raise "Could not resolve: #{@host}" if @host_ip.nil?
|
52
54
|
end
|
53
55
|
|
54
|
-
@c = EM.open_datagram_socket(@bind_host, nil)
|
56
|
+
@c = EM.open_datagram_socket(@bind_host, nil, @handler, self)
|
57
|
+
|
55
58
|
log.info "Setup of output to #{info} successful"
|
56
59
|
|
57
60
|
subs << core.output.event_subscribe{|e| handle_event e}
|
@@ -74,6 +77,14 @@ module FFWD::UDP
|
|
74
77
|
end
|
75
78
|
end
|
76
79
|
|
80
|
+
def send_data data
|
81
|
+
return unless @c
|
82
|
+
@c.send_datagram data, @host_ip, @port
|
83
|
+
end
|
84
|
+
|
85
|
+
def unbind; end
|
86
|
+
def connection_completed; end
|
87
|
+
|
77
88
|
private
|
78
89
|
|
79
90
|
def handle_event event
|
@@ -82,8 +93,7 @@ module FFWD::UDP
|
|
82
93
|
return
|
83
94
|
end
|
84
95
|
|
85
|
-
|
86
|
-
@c.send_datagram data, @host_ip, @port
|
96
|
+
@c.send_event event
|
87
97
|
increment :sent_events, 1
|
88
98
|
end
|
89
99
|
|
@@ -93,8 +103,7 @@ module FFWD::UDP
|
|
93
103
|
return
|
94
104
|
end
|
95
105
|
|
96
|
-
|
97
|
-
@c.send_datagram data, @host_ip, @port
|
106
|
+
@c.send_metric metric
|
98
107
|
increment :sent_metrics, 1
|
99
108
|
end
|
100
109
|
|
data/lib/ffwd/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ffwd
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.7
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- John-John Tedro
|
@@ -9,62 +10,70 @@ authors:
|
|
9
10
|
autorequire:
|
10
11
|
bindir: bin
|
11
12
|
cert_chain: []
|
12
|
-
date: 2014-
|
13
|
+
date: 2014-05-30 00:00:00.000000000 Z
|
13
14
|
dependencies:
|
14
15
|
- !ruby/object:Gem::Dependency
|
15
16
|
name: eventmachine
|
16
17
|
requirement: !ruby/object:Gem::Requirement
|
18
|
+
none: false
|
17
19
|
requirements:
|
18
|
-
- - '>='
|
20
|
+
- - ! '>='
|
19
21
|
- !ruby/object:Gem::Version
|
20
22
|
version: '0'
|
21
23
|
type: :runtime
|
22
24
|
prerelease: false
|
23
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
none: false
|
24
27
|
requirements:
|
25
|
-
- - '>='
|
28
|
+
- - ! '>='
|
26
29
|
- !ruby/object:Gem::Version
|
27
30
|
version: '0'
|
28
31
|
- !ruby/object:Gem::Dependency
|
29
32
|
name: rspec
|
30
33
|
requirement: !ruby/object:Gem::Requirement
|
34
|
+
none: false
|
31
35
|
requirements:
|
32
|
-
- - '>='
|
36
|
+
- - ! '>='
|
33
37
|
- !ruby/object:Gem::Version
|
34
38
|
version: '0'
|
35
39
|
type: :development
|
36
40
|
prerelease: false
|
37
41
|
version_requirements: !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
38
43
|
requirements:
|
39
|
-
- - '>='
|
44
|
+
- - ! '>='
|
40
45
|
- !ruby/object:Gem::Version
|
41
46
|
version: '0'
|
42
47
|
- !ruby/object:Gem::Dependency
|
43
48
|
name: rspec-mocks
|
44
49
|
requirement: !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
45
51
|
requirements:
|
46
|
-
- - '>='
|
52
|
+
- - ! '>='
|
47
53
|
- !ruby/object:Gem::Version
|
48
54
|
version: '0'
|
49
55
|
type: :development
|
50
56
|
prerelease: false
|
51
57
|
version_requirements: !ruby/object:Gem::Requirement
|
58
|
+
none: false
|
52
59
|
requirements:
|
53
|
-
- - '>='
|
60
|
+
- - ! '>='
|
54
61
|
- !ruby/object:Gem::Version
|
55
62
|
version: '0'
|
56
63
|
- !ruby/object:Gem::Dependency
|
57
64
|
name: autoversion
|
58
65
|
requirement: !ruby/object:Gem::Requirement
|
66
|
+
none: false
|
59
67
|
requirements:
|
60
|
-
- - '>='
|
68
|
+
- - ! '>='
|
61
69
|
- !ruby/object:Gem::Version
|
62
70
|
version: '0'
|
63
71
|
type: :development
|
64
72
|
prerelease: false
|
65
73
|
version_requirements: !ruby/object:Gem::Requirement
|
74
|
+
none: false
|
66
75
|
requirements:
|
67
|
-
- - '>='
|
76
|
+
- - ! '>='
|
68
77
|
- !ruby/object:Gem::Version
|
69
78
|
version: '0'
|
70
79
|
description:
|
@@ -77,88 +86,89 @@ executables:
|
|
77
86
|
extensions: []
|
78
87
|
extra_rdoc_files: []
|
79
88
|
files:
|
80
|
-
- bin/fwc
|
81
89
|
- bin/ffwd
|
82
|
-
-
|
83
|
-
- lib/ffwd.rb
|
84
|
-
- lib/ffwd/statistics.rb
|
85
|
-
- lib/ffwd/processor.rb
|
90
|
+
- bin/fwc
|
86
91
|
- lib/ffwd/producing_client.rb
|
87
|
-
- lib/ffwd/tunnel.rb
|
88
|
-
- lib/ffwd/
|
92
|
+
- lib/ffwd/tunnel/udp.rb
|
93
|
+
- lib/ffwd/tunnel/plugin.rb
|
94
|
+
- lib/ffwd/tunnel/tcp.rb
|
89
95
|
- lib/ffwd/lifecycle.rb
|
90
|
-
- lib/ffwd/
|
91
|
-
- lib/ffwd/
|
92
|
-
- lib/ffwd/
|
93
|
-
- lib/ffwd/
|
94
|
-
- lib/ffwd/plugin/json.rb
|
95
|
-
- lib/ffwd/plugin/log/writer.rb
|
96
|
-
- lib/ffwd/plugin/log.rb
|
97
|
-
- lib/ffwd/plugin/json/connection.rb
|
98
|
-
- lib/ffwd/circular_buffer.rb
|
99
|
-
- lib/ffwd/event.rb
|
100
|
-
- lib/ffwd/statistics/system_statistics.rb
|
96
|
+
- lib/ffwd/logging.rb
|
97
|
+
- lib/ffwd/metric.rb
|
98
|
+
- lib/ffwd/schema.rb
|
99
|
+
- lib/ffwd/version.rb
|
101
100
|
- lib/ffwd/statistics/collector.rb
|
102
|
-
- lib/ffwd/
|
101
|
+
- lib/ffwd/statistics/system_statistics.rb
|
103
102
|
- lib/ffwd/utils.rb
|
104
|
-
- lib/ffwd/protocol/
|
103
|
+
- lib/ffwd/protocol/udp.rb
|
105
104
|
- lib/ffwd/protocol/tcp/bind.rb
|
106
|
-
- lib/ffwd/protocol/tcp/plain_connect.rb
|
107
105
|
- lib/ffwd/protocol/tcp/flushing_connect.rb
|
106
|
+
- lib/ffwd/protocol/tcp/plain_connect.rb
|
108
107
|
- lib/ffwd/protocol/tcp/connection.rb
|
108
|
+
- lib/ffwd/protocol/tcp.rb
|
109
109
|
- lib/ffwd/protocol/udp/bind.rb
|
110
110
|
- lib/ffwd/protocol/udp/connect.rb
|
111
|
-
- lib/ffwd/
|
112
|
-
- lib/ffwd/
|
113
|
-
- lib/ffwd/
|
114
|
-
- lib/ffwd/
|
115
|
-
- lib/ffwd/
|
116
|
-
- lib/ffwd/
|
117
|
-
- lib/ffwd/
|
118
|
-
- lib/ffwd/
|
119
|
-
- lib/ffwd/
|
111
|
+
- lib/ffwd/plugin/log/writer.rb
|
112
|
+
- lib/ffwd/plugin/log.rb
|
113
|
+
- lib/ffwd/plugin/json.rb
|
114
|
+
- lib/ffwd/plugin/json/connection.rb
|
115
|
+
- lib/ffwd/handler.rb
|
116
|
+
- lib/ffwd/protocol.rb
|
117
|
+
- lib/ffwd/plugin.rb
|
118
|
+
- lib/ffwd/debug.rb
|
119
|
+
- lib/ffwd/event.rb
|
120
|
+
- lib/ffwd/processor.rb
|
121
|
+
- lib/ffwd/debug/monitor_session.rb
|
122
|
+
- lib/ffwd/debug/tcp.rb
|
123
|
+
- lib/ffwd/debug/connection.rb
|
124
|
+
- lib/ffwd/channel.rb
|
125
|
+
- lib/ffwd/circular_buffer.rb
|
120
126
|
- lib/ffwd/core/interface.rb
|
121
|
-
- lib/ffwd/core/reporter.rb
|
122
127
|
- lib/ffwd/core/emitter.rb
|
123
|
-
- lib/ffwd/
|
124
|
-
- lib/ffwd/
|
128
|
+
- lib/ffwd/core/processor.rb
|
129
|
+
- lib/ffwd/core/reporter.rb
|
125
130
|
- lib/ffwd/core.rb
|
126
|
-
- lib/ffwd/
|
131
|
+
- lib/ffwd/plugin_channel.rb
|
132
|
+
- lib/ffwd/plugin_loader.rb
|
133
|
+
- lib/ffwd/reporter.rb
|
134
|
+
- lib/ffwd/metric_emitter.rb
|
135
|
+
- lib/ffwd/statistics.rb
|
136
|
+
- lib/ffwd/schema/spotify100.rb
|
137
|
+
- lib/ffwd/schema/default.rb
|
138
|
+
- lib/ffwd/retrier.rb
|
139
|
+
- lib/ffwd/tunnel.rb
|
127
140
|
- lib/ffwd/processor/count.rb
|
128
141
|
- lib/ffwd/processor/histogram.rb
|
129
|
-
- lib/ffwd/
|
130
|
-
- lib/ffwd/
|
131
|
-
- lib/ffwd/
|
132
|
-
- lib/ffwd
|
133
|
-
- lib/ffwd/tunnel/tcp.rb
|
134
|
-
- lib/ffwd/tunnel/udp.rb
|
135
|
-
- lib/ffwd/tunnel/plugin.rb
|
136
|
-
- lib/ffwd/plugin.rb
|
137
|
-
- lib/ffwd/metric.rb
|
142
|
+
- lib/ffwd/processor/rate.rb
|
143
|
+
- lib/ffwd/event_emitter.rb
|
144
|
+
- lib/ffwd/connection.rb
|
145
|
+
- lib/ffwd.rb
|
138
146
|
- lib/em/protocols/frame_object_protocol.rb
|
139
147
|
- lib/em/all.rb
|
148
|
+
- lib/fwc.rb
|
140
149
|
homepage: https://github.com/spotify/ffwd
|
141
150
|
licenses:
|
142
151
|
- Apache 2.0
|
143
|
-
metadata: {}
|
144
152
|
post_install_message:
|
145
153
|
rdoc_options: []
|
146
154
|
require_paths:
|
147
155
|
- lib
|
148
156
|
required_ruby_version: !ruby/object:Gem::Requirement
|
157
|
+
none: false
|
149
158
|
requirements:
|
150
|
-
- - '>='
|
159
|
+
- - ! '>='
|
151
160
|
- !ruby/object:Gem::Version
|
152
161
|
version: '0'
|
153
162
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
163
|
+
none: false
|
154
164
|
requirements:
|
155
|
-
- - '>='
|
165
|
+
- - ! '>='
|
156
166
|
- !ruby/object:Gem::Version
|
157
167
|
version: '0'
|
158
168
|
requirements: []
|
159
169
|
rubyforge_project:
|
160
|
-
rubygems_version:
|
170
|
+
rubygems_version: 1.8.23
|
161
171
|
signing_key:
|
162
|
-
specification_version:
|
172
|
+
specification_version: 3
|
163
173
|
summary: Core framework for the FastForward Daemon.
|
164
174
|
test_files: []
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: 51775a59c73dd9be7d21c447c82b07114e9d8873
|
4
|
-
data.tar.gz: 0ea15ca035581520ede8c982abba0b91693b9faf
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: 0eed13b83347cf1bec2d5b31b1a3a91d453d7108dc04a1f7e86910ec1751fb31f9b82f92343a8a25728a0c8da63740e36bfb8b1a488d7d42d95d2762fa29b410
|
7
|
-
data.tar.gz: de52f3fa7891f164f457683cd5536f07c5ed9a1ffe098198605a3a8c51660966c19ddc0adb8037472d03ff645b0230fc97f132f2fe9c64b6c9acd88a7e6a699c
|