nwtgck/piping-server

how it works

deepakkoirala opened this issue · 6 comments

How are files temporarily stored during the file transfer period ?

  1. Is there a expiry time. If Yes, what is the expiry time for those files. Can we change that time?

  2. And is there any limit we can set on cache files storage?

Hi.

How are files temporarily stored during the file transfer period ?

Zero files stored. Piping Server never stores data into a storage. It relays data from a sender to receivers.

Hi.

How are files temporarily stored during the file transfer period ?

Zero files stored. Piping Server never stores data into a storage. It relays data from a sender to receivers.

  1. What kind of file upload does it do? Does it do a chunk by chunk upload? How does it work?

  2. There might be a case where sender internet upload speed might be slower than the receiver's download speed. Please explain.

  1. What kind of file upload does it do? Does it do a chunk by chunk upload? How does it work?

HTTP has the chunk-by-chunk upload feature by "Transfer-encoding: chunked" without "Content-Length".

Demo

Here is a demo using "Transfer-encoding: chunked". I spoke HTTP/1.1 manually here with ncat command, which speaks TCP.

As you can see the demo below, the text "Hi!\n\rHow are you?\n\r" is streamed (chunk-by-chunk).

piping-server-transfer-encoding-chunked-post-2 mp4 opt

Here is what I spoke.

PUT /mypath HTTP/1.1
Host: ppng.io
Transfer-Encoding: chunked
Expect: 100-continue

3
Hi!
3

H
b
ow are you?
2

0

Note that 3, 3, b and 2 are the length of each chunk in hex.

In HTTP/2, there is no "Transfer-Encoding: chunked" and more efficient using DATA frames.


  1. There might be a case where sender internet upload speed might be slower than the receiver's download speed. Please explain.

In that case, the receiver's download speed should be how slow as the sender's.

namnm commented

This one is extraordinary fascinating, thank you for all your great work @nwtgck
I dont have time now to try this but look so promising. Will try in a near future, you have my bookmark

@namnm Thank you so much!

@deepakkoirala I will close because I explained and have no reply. Reopen when you have questions related to this issue topic.