rack-tctp 0.9.8 → 0.9.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/rack/tctp/halec.rb +27 -22
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: aed3301a65c55e8bd87dffd0cab7781b583bc16f
|
4
|
+
data.tar.gz: 431e9b398f6d6ddb7e64f2f645f2fed9c4f7ef97
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5bc4d91be9c966327682b55b127c8f0662b134e73d6cc03bcefb620dd5e94f74f83f9c762af5c480faa168f1509dfd6f2cd10f73bfc7f9cfc26a30f6f4d7190c
|
7
|
+
data.tar.gz: 40a7110474d74ae7cbb7f93fd8576b4fea0c3c4ece20631c1ee1ed1c4ec3050088b8502831d08f216906a54de82cc98e307447f5d3a47a8ee8c849557d871e58
|
data/lib/rack/tctp/halec.rb
CHANGED
@@ -23,32 +23,37 @@ class Rack::TCTP::HALEC
|
|
23
23
|
|
24
24
|
# The queue for encrypting and decrypting data
|
25
25
|
# @return [Queue] The async queue
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
item[2].call
|
26
|
+
# @!attr [r] async_queue
|
27
|
+
def async_queue
|
28
|
+
unless @async_queue
|
29
|
+
@async_queue = Queue.new
|
30
|
+
|
31
|
+
@async_thread = Thread.new do
|
32
|
+
begin
|
33
|
+
while true
|
34
|
+
item = @async_queue.pop
|
35
|
+
|
36
|
+
case item[0]
|
37
|
+
when :encrypt
|
38
|
+
item[2].call encrypt_data(item[1])
|
39
|
+
when :decrypt
|
40
|
+
item[2].call decrypt_data(item[1])
|
41
|
+
when :call
|
42
|
+
item[2].call
|
43
|
+
end
|
45
44
|
end
|
45
|
+
rescue Exception => e
|
46
|
+
#TODO Handle HALEC encryption thread shutdown
|
47
|
+
puts e
|
46
48
|
end
|
47
|
-
rescue Exception => e
|
48
|
-
#TODO Handle HALEC encryption thread shutdown
|
49
|
-
puts e
|
50
49
|
end
|
51
50
|
end
|
51
|
+
|
52
|
+
@async_queue
|
53
|
+
end
|
54
|
+
|
55
|
+
def initialize(options = {})
|
56
|
+
@url = options[:url] || nil
|
52
57
|
end
|
53
58
|
|
54
59
|
# Encrypts +plaintext+ data and either returns the encrypted data or calls a block with it.
|