honker 0.3.0-x86_64-linux → 0.3.1-x86_64-linux
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/lib/honker/libhonker_ext.so +0 -0
- data/lib/honker/version.rb +1 -1
- data/lib/honker.rb +15 -5
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2bc38dfbfb56aec9e769400c06bef560fa2151530fa15fa4ebe4f5eaa297bd0f
|
|
4
|
+
data.tar.gz: 5a443e116847f744126481adb6c8333781e1463e86cd11d07d36a0dd5b39ab8d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3d4759cbb5ed29c33ba6f1ebd8da9dd9bf87b2e53541ac63e39458243249649c7cb246aa63018716b2b0b660e097f5fd578d0aa70d06f398abba42ece989a4cd
|
|
7
|
+
data.tar.gz: 2b9b45fa52af31e65dcbb1a8cbade0d517b582db3cbf1fa0fc0cbf8489320ff4008b7dd8f9933a5925dbbb8e1b15dfa3a9aef43c9b7ec249a159d8e0ad88aa79
|
data/lib/honker/libhonker_ext.so
CHANGED
|
Binary file
|
data/lib/honker/version.rb
CHANGED
data/lib/honker.rb
CHANGED
|
@@ -113,11 +113,11 @@ module Honker
|
|
|
113
113
|
end
|
|
114
114
|
|
|
115
115
|
class CoreWatcher
|
|
116
|
-
def initialize(db_path, extension_path, backend)
|
|
116
|
+
def initialize(db_path, extension_path, backend, watcher_poll_interval_ms)
|
|
117
117
|
@lib = Fiddle.dlopen(extension_path)
|
|
118
118
|
@open = Fiddle::Function.new(
|
|
119
|
-
@lib["
|
|
120
|
-
[Fiddle::TYPE_VOIDP, Fiddle::TYPE_VOIDP, Fiddle::TYPE_VOIDP, Fiddle::TYPE_SIZE_T],
|
|
119
|
+
@lib["honker_watcher_open_v2"],
|
|
120
|
+
[Fiddle::TYPE_VOIDP, Fiddle::TYPE_VOIDP, Fiddle::TYPE_LONG_LONG, Fiddle::TYPE_VOIDP, Fiddle::TYPE_SIZE_T],
|
|
121
121
|
Fiddle::TYPE_VOIDP,
|
|
122
122
|
)
|
|
123
123
|
@wait = Fiddle::Function.new(
|
|
@@ -131,7 +131,13 @@ module Honker
|
|
|
131
131
|
Fiddle::TYPE_VOID,
|
|
132
132
|
)
|
|
133
133
|
err = "\0" * 1024
|
|
134
|
-
@handle = @open.call(
|
|
134
|
+
@handle = @open.call(
|
|
135
|
+
db_path.to_s,
|
|
136
|
+
backend.to_s,
|
|
137
|
+
watcher_poll_interval_ms || 1,
|
|
138
|
+
err,
|
|
139
|
+
err.bytesize,
|
|
140
|
+
)
|
|
135
141
|
return unless @handle.to_i.zero?
|
|
136
142
|
|
|
137
143
|
raise ArgumentError, err.delete_suffix("\0").split("\0", 2).first
|
|
@@ -171,10 +177,14 @@ module Honker
|
|
|
171
177
|
attr_reader :db
|
|
172
178
|
|
|
173
179
|
def initialize(path, extension_path: nil, watcher_backend: nil,
|
|
180
|
+
watcher_poll_interval_ms: nil,
|
|
174
181
|
extension_resolver: ExtensionResolver.new)
|
|
175
182
|
unless watcher_backend.nil? || watcher_backend.is_a?(String)
|
|
176
183
|
raise ArgumentError, "unknown watcher backend"
|
|
177
184
|
end
|
|
185
|
+
unless watcher_poll_interval_ms.nil? || watcher_poll_interval_ms.to_i.positive?
|
|
186
|
+
raise ArgumentError, "watcher_poll_interval_ms must be positive"
|
|
187
|
+
end
|
|
178
188
|
|
|
179
189
|
resolved_extension = extension_resolver.resolve(extension_path)
|
|
180
190
|
@db = SQLite3::Database.new(path)
|
|
@@ -186,7 +196,7 @@ module Honker
|
|
|
186
196
|
@db.enable_load_extension(false)
|
|
187
197
|
@db.execute_batch(DEFAULT_PRAGMAS)
|
|
188
198
|
@db.execute("SELECT honker_bootstrap()")
|
|
189
|
-
@watcher = CoreWatcher.new(path, resolved_extension, watcher_backend)
|
|
199
|
+
@watcher = CoreWatcher.new(path, resolved_extension, watcher_backend, watcher_poll_interval_ms)
|
|
190
200
|
end
|
|
191
201
|
|
|
192
202
|
def close
|