simple-transfer 1.0.2 → 1.1.3
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/transfer.rb +12 -6
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fe5cba70caf94311be44cf8a7ac9b468c0889271f05ddbc5b4de78ce656877e9
|
4
|
+
data.tar.gz: 5d91c55f495da4da0b13f5a4b8eb12404deb7b0175b0f058fe2aff58f2686518
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 85a60ff87ee334c778c8786f01d262df2f47219d33a405569eb8113b840bdf92e4040aea6554c2989f9c2def981a9e5b4068045c58d78d2655fc6283f6c4df4a
|
7
|
+
data.tar.gz: 41472c64b33731994d184a19dcfa634c1cd5a9c44f9ff0a48fe2ab9e5f574d06d297a9ac75e474c559da47011b25c39dbb1853d647c9f1090aa6ad4ee37c8ba2
|
data/lib/transfer.rb
CHANGED
@@ -28,8 +28,8 @@ module SimpleTransfer
|
|
28
28
|
return self.addr[1]
|
29
29
|
end
|
30
30
|
|
31
|
-
def recv_chunk()
|
32
|
-
return @conn.recv(
|
31
|
+
def recv_chunk(size=@@recv_size)
|
32
|
+
return @conn.recv(size)
|
33
33
|
end
|
34
34
|
|
35
35
|
def init_transfer()
|
@@ -71,6 +71,14 @@ module SimpleTransfer
|
|
71
71
|
return init_data
|
72
72
|
end
|
73
73
|
|
74
|
+
def recv_part(data, data_length)
|
75
|
+
# no need to end sync, just check if exactly the file size is read at total
|
76
|
+
remaining = data_length - data.length
|
77
|
+
part = remaining < @@recv_size ? recv_chunk(remaining) : recv_chunk()
|
78
|
+
return part
|
79
|
+
#
|
80
|
+
end
|
81
|
+
|
74
82
|
def recv_file()
|
75
83
|
init = handle_init()
|
76
84
|
if not init[0]
|
@@ -79,14 +87,14 @@ module SimpleTransfer
|
|
79
87
|
data_length, filename = init
|
80
88
|
data = ""
|
81
89
|
while data.length < data_length
|
82
|
-
data +=
|
90
|
+
data += recv_part(data, data_length)
|
83
91
|
sleep(0.01)
|
84
92
|
log_progress(data.length, data_length, filename) if @logging
|
85
93
|
end
|
86
94
|
Kernel.print "\n"
|
87
95
|
if data.length != data_length
|
88
96
|
log_transfer(
|
89
|
-
"
|
97
|
+
"more or less data received for #{filename}", level = "WARNING"
|
90
98
|
) if @logging
|
91
99
|
end
|
92
100
|
return data, filename
|
@@ -185,8 +193,6 @@ module SimpleTransfer
|
|
185
193
|
|
186
194
|
def send_directory(directory)
|
187
195
|
scan_directory(directory).each do |f|
|
188
|
-
#sleep because there is no sync for end of transfer
|
189
|
-
sleep 0.5
|
190
196
|
if File.directory?(f)
|
191
197
|
send_directory(f)
|
192
198
|
else send_file(f) end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simple-transfer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Burzum
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-02-
|
11
|
+
date: 2025-02-27 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: |-
|
14
14
|
An extremely simple gem that relies on the TCP stack for transfer of files over a IP network.
|
@@ -26,7 +26,9 @@ files:
|
|
26
26
|
homepage: https://github.com/unhappygirl/simple-transfer
|
27
27
|
licenses:
|
28
28
|
- MIT
|
29
|
-
metadata:
|
29
|
+
metadata:
|
30
|
+
source_code_uri: https://github.com/unhappygirl/simple-transfer
|
31
|
+
homepage_uri: https://github.com/unhappygirl/simple-transfer
|
30
32
|
post_install_message:
|
31
33
|
rdoc_options: []
|
32
34
|
require_paths:
|