1
0
mirror of https://github.com/facebookincubator/mvfst.git synced 2025-11-10 21:22:20 +03:00
Commit Graph

11 Commits

Author SHA1 Message Date
Yang Chi
676f315875 Move isNetworkUnreachable out of IoBufQuicBatch to be a free function
Summary:
It doesn't depend on the state of the IOBufQuicBatch. Move it out so
other writers can  use this function in the future

Reviewed By: mjoras

Differential Revision: D21005960

fbshipit-source-id: b09f41f715a7908f74e490ca24eaec0e41f58a2c
2020-04-29 20:37:00 -07:00
Yang Chi
c653133f93 Remove setContinueOnNetworkUnreachable API from IoBufQuicBatch
Summary: this API isn't necessary

Reviewed By: mjoras

Differential Revision: D21005961

fbshipit-source-id: e1be324102b3f9ff2a2d7ef2228711dea3119ebc
2020-04-29 20:37:00 -07:00
Dan Melnic
55443f2b16 Add support for thread local batch writers
Summary: Add support for thread local batch writers

Reviewed By: mjoras

Differential Revision: D21004810

fbshipit-source-id: 907a25f95afeab78fdc7e83cbab87b4f51adc3d3
2020-04-23 18:39:09 -07:00
Luca Niccolini
5ca21a5278 rename infoCallback to statsCallback
Summary:
```
find ./quic | xargs -I{} sed -i "s/infoCallback/statsCallback/g" {}
find ./quic | xargs -I{} sed -i "s/InfoCallback/StatsCallback/g" {}
```

(Note: this ignores all push blocking failures!)

Reviewed By: mjoras

Differential Revision: D20860675

fbshipit-source-id: 4fe99a375b5983da51b6727d7f40788f89083ab3
2020-04-11 11:16:51 -07:00
Raghu Nallamothu
0f7ef79620 Don't send conn close when network is unreachable
Summary: We send conn close packets when network is un-rechable, this task fixes the issue and we no longer send conn close frames when network is un-rechable.

Reviewed By: yangchi, lnicco

Differential Revision: D18469028

fbshipit-source-id: 3090b6b3d63e1fc9448b8d945c645f4da8747ffc
2019-12-12 16:00:23 -08:00
Matt Joras
ac0829cd6b QUIC_STATS for socket write errors
Summary: As in title.

Reviewed By: yangchi

Differential Revision: D18374953

fbshipit-source-id: 3248dbbca43399629964189ca502cffdf3adc0b5
2019-11-08 11:59:21 -08:00
Junqi Wang
7aac9a78b4 Do not close socket immediately after write fails
Summary:
Becuase closeImpl will write again. Ideally in this case we should just
abandon the connection, but putting this bandage to prevent crash for now

Reviewed By: siyengar

Differential Revision: D15295421

fbshipit-source-id: d098e790c0c2609d817f5d1d3689858aa80a8b73
2019-05-10 10:37:44 -07:00
Junqi Wang
f458b4f69c Close socket after fatal error
Summary:
Close the socket when fatal error occurred. This prevents quic transport from receiving readCallback from a bad socket.
Also, close the happy eyeball socket when transport is shutdown.

Reviewed By: siyengar

Differential Revision: D15264105

fbshipit-source-id: e6c33f626cdef6a4ebc6820e39ac78da525133d0
2019-05-09 21:20:31 -07:00
Junqi Wang
f250d5e7ac Fatal error on one socket does not tear down connection
Summary:
Previously we decided to be conservative and error out the connetion
when either of the 2 sockets fails to write. This makes the happy eyeballs
component meaningless for e.g. IPv4 only network cases. This time we try to do it right.

The connection will keep track `shouldWrite` bool for both sockets. `shouldWriteToFirstSocket` is initialized to true and `shouldWriteToSecond` is initialized to false. Whenever **fatal** error occurs on a socket, the corresponding `shouldWrite` bool is changed to false. We are not finishing happy eyeballs state immediately but delaying this action to when we receive data back.

Reviewed By: siyengar

Differential Revision: D15261148

fbshipit-source-id: 3ee7de81a1d579e418be36bc2800d93d414abe3d
2019-05-09 21:20:30 -07:00
Junqi Wang
2c701de030 Continue on network unreachable with timeout
Summary:
Previously we tried continue on network down and it showed good
improvement. But there was a problem: it hurts UX for airplane mode users, it
didn't return error back to user immediately but after 30/60 seconds timeout.
This adds a timer for this feature and it only allows the transport to ignore
network unreachable error for 200ms. After 200ms, it throws and reports to user
if the error persists.

Reviewed By: siyengar

Differential Revision: D15089442

fbshipit-source-id: dd87f4f579187c4b45244a7ee0477d2a0cf1b5d7
2019-04-26 10:08:35 -07:00
udippant
50d4939e9e Initial commit of mvfst 2019-04-22 23:42:46 -07:00