Comments (4)
I don't think &
is the issue: Each media server of Puffer is single-threaded running a single process, so the execution is sequential and pretty straightforward to reason about. client_.tcp_info().value()
returns a struct TCPInfo
containing just five integers, and curr_tcp_info
simply holds a reference to this struct. Removing &
will cause an extra copy of five integers, no big deal, but shouldn't affect the correctness.
Could you please double check the symptom on your side? That is to output, say, curr_tcp_info.cwnd
before and after removing the &
, without making any other changes. Regardless of this, we definitely want to hear more about why Fugu doesn't work as expected! Although we can't guarantee Fugu working in simulation (re: our research paper), we still want to eliminate mysterious behaviors of it and understand it better.
from puffer.
Thanks for your advice! Actually, I just pulled the latest Puffer and re-tried it once more. The error is gone now. I agree with what you said that removing &
shouldn't make a difference. But I couldn't figure out the reason of the unexpected behavior previously. Anyways, good news that it's not there any more. Thanks again!
from puffer.
Hello ---------- Sorry, we didn't quite get your problem. Did you mean that the value curr_tcp_info.delivery_rate/cwnd/... might not equal to client_.tcp_info().value().delivery_rate/cwnd/...?
from puffer.
Yes.
Actually, in my experiments, I capped the network bandwidth to different values but the video format was always selected as the top one (1920x1080-22), even though there were frequent long rebuffering events happened, especially for the very first chunk. Then I printed out tcp-level information and found curr_tcp_info.delivery_rate/cwnd/... are not the expected tcp-level information (i.e. client_.tcp_info().value().delivery_rate/cwnd/...). That's why I think TTP couldn't predict proper transmission time for next video chunks.
After I remove &
from const auto & curr_tcp_info = client_.tcp_info().value();
, now it seems that puffer could adapt to different network bandwidth.
Please correct me if I am wrong. Thanks!
from puffer.
Related Issues (17)
- Can changing channel be instant(ish) ? HOT 1
- Do you want reports on performance and issues from us on the client side? HOT 1
- Puffer website is not available over IPv6 HOT 1
- https://puffer.stanford.edu/monitoring/ not available HOT 1
- Add channel 44 KBCW HOT 1
- needs help while reproducing the work. HOT 1
- Do you have any technical documentation or comments to go with this puffer code? HOT 3
- real time feeds question HOT 1
- make -j CXXFLAGS='-DNONSECURE' does not work HOT 6
- Add KLCS PBS and KLCS Kids channels HOT 1
- Regenerate nsdi plot HOT 1
- Bug with getting tcp_info HOT 3
- What is the PING & PONG WSFRAME designed for? HOT 2
- [Question] can puffer port and test in qualcomm® snapdragon™ - automotive development platform? HOT 1
- Support wide layout in web frontend
- Fugu training code? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from puffer.