simple-transfer 3.1.9 → 4.0.0

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,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e8ba146fcf4d465dc32befb8e0c2fdb8d11af7b409cfdd0d52e2738a44a83840
4
- data.tar.gz: 27bd2576bb3045469ddf4e668ebc167082c57e71abd384a6a39765fae838b275
3
+ metadata.gz: f3db6f13f591c41b997efaaefb8b3a7efe3a46064bff632be44ebc473dabf9b4
4
+ data.tar.gz: 2e985206bb7551c4af170407f83110ba431c39fb509c83be716a0c85fd498007
5
5
  SHA512:
6
- metadata.gz: 8dd764fca8339eff18ed3f3f3d577cabbd24807c695bb7acb210c32f02449cbccb59ac4f27cd68bb4085eca54bd569f38b527f3f1a8588a52c18058bfb384a73
7
- data.tar.gz: ff35680370ad07e7085faf34ff37459e1ac9b98cdeae4fcba1af16d4fde60a0c6b0ad61ace6747a8fb8db16fc4dc8ebe5039f759ee90cc6a3bf7068fe9c11756
6
+ metadata.gz: 5fa7d34f3e144b6186cc8b7b57e66da8afe8eeb6c052694c38bf4c3383c382a881e1a5bf14744aa176bc88995e564c0930d7e39e71ff0afc0bb90e3d284ace72
7
+ data.tar.gz: ca661ba08f6fe3428bdd4a08ec66674951ba0694a891e727203eb9f62758f9fc0d14f6ea2ccb09ff8ae9523badb6be42ef00d6fd51b836a735a7cd171635d899
Binary file
data/lib/transfer.rb CHANGED
@@ -86,22 +86,38 @@ module SimpleTransfer
86
86
  return init[1]
87
87
  end
88
88
  data_length, filename = init
89
- data = ""
90
- while data.length < data_length
91
- data += recv_part(data, data_length)
92
- recvd += 1
93
- if recvd % 50 == 0
94
- fk = (fk + 1) % @dot_cycle.length
95
- Kernel.print log_progress(data.length, data_length, filename) + @dot_cycle[fk]
89
+
90
+ master_data = ""
91
+ temp = ""
92
+
93
+ # 4 mb
94
+ chunk_limit = 4194240
95
+
96
+ while master_data.length < data_length
97
+ while temp.length <= chunk_limit
98
+ temp += recv_part(temp, data_length)
99
+ break if temp.length + master_data.length >= data_length
100
+ recvd += 1
101
+ if recvd % 50 == 0
102
+ fk = (fk + 1) % @dot_cycle.length
103
+ Kernel.print log_progress(master_data.length, data_length, filename) + @dot_cycle[fk]
104
+ end
96
105
  end
106
+ master_data += temp
107
+ # reset temp when it exceeds chunk limit
108
+ temp = ""
97
109
  end
110
+ # end of reception
98
111
  Kernel.print "\n"
99
- if data.length != data_length
112
+ if master_data.length != data_length
100
113
  log_transfer(
101
114
  "more or less data received for #{filename}", level = "WARNING"
102
115
  ) if @logging
103
116
  end
104
- return data, filename
117
+ log_transfer(
118
+ "File: #{filename} received successfully.", level = "INFO"
119
+ ) if @logging
120
+ return master_data, filename
105
121
  end
106
122
 
107
123
  def copyto_local(data)
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: 3.1.9
4
+ version: 4.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Burzum
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-09-30 00:00:00.000000000 Z
11
+ date: 2026-11-15 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.
@@ -20,6 +20,7 @@ executables:
20
20
  extensions: []
21
21
  extra_rdoc_files: []
22
22
  files:
23
+ - bin/atatürk.mp4
23
24
  - bin/simple-transfer
24
25
  - lib/repl.rb
25
26
  - lib/transfer.rb