You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
-55Lines changed: 0 additions & 55 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -154,58 +154,3 @@ npm publish --access public
154
154
git push
155
155
git push --tags
156
156
```
157
-
158
-
---
159
-
160
-
I need to be locked together.
161
-
162
-
These need to be atomic operations.
163
-
164
-
The only issue is that the "atomicity" is controlled outside of `QUICConnection` atm.
165
-
166
-
Whereas it seems to make sense to do this directly?
167
-
168
-
```
169
-
recieve
170
-
[IF IS DRAINING IS TRUE SKIP SEND]
171
-
send
172
-
[CLOSE] - we may be "closed here"
173
-
set-timeout
174
-
```
175
-
176
-
This would be triggered by:
177
-
* QUICStream
178
-
* keepAliveTimer
179
-
* after onTimeout
180
-
181
-
```
182
-
send
183
-
[CLOSE] - we may be "closed here"
184
-
set-timeout
185
-
```
186
-
187
-
Remember you may also "receive" and end up closing too. But you will always check if you need to send first before checking the close. At worst it will tell you it's done.
188
-
189
-
Now of course we enable calling recv and send.
190
-
191
-
But `send` actually ends up calling multiple things here.
192
-
193
-
But if `recv` is synchronous, you can always call it infront of `send`.
194
-
195
-
This technically means `send` should be encapsulating the logic of setting the timeout.
196
-
197
-
If you want to make sure it's re-entrant, you can just "lock" on the send call.
198
-
199
-
The setTimeout is then protected.
200
-
201
-
The `recv` call is made synchronously.
202
-
203
-
204
-
205
-
Receive Send Timer, Send Timer (all of this requires locking the conn lock)
206
-
207
-
Closing too, it should require the conn lock
208
-
Receive Send [Close] Timer, Send [Close] Timer
209
-
It's all optional
210
-
It's the send that has to do Send, Close, Timer... that's what needs to check it all
0 commit comments