-
diag/net: io must respect timeout ctx · c64338a8
See the discussion below. A future commit will implement the closer change below, and rebase this one on top. <•jbenet> `n.Diagnostics.GetDiagnostic(time.Second * 20)` is not being respected. should it use a context instead? or is it a timeout because the timeout is sent to other nodes? <•jbenet> oh it's that the io doesnt respect the context so we're stuck waiting for responses. <•jbenet> this is that complex interface point between the world of contexts, and the world of io. ctxutil.Reader/Writer is made for this, but you have to make sure to defer close the stream. (see how dht_net uses it). i'd love to find a safer interface. not sure what it is, but we have to a) respect contexts, and b) allow using standard io.Reader/Writers. Maybe TRTTD <•jbenet> is have ctxutil.Reader/Writer take ReadCloser and WriteClosers and always close them. the user _must_ pass an ioutil. NopCloser to avoid ctxutil closing on you when you dont want it to. <•jbenet> this seems safer to me in the general case.
由 Juan Batiz-Benet 提交于c64338a8
| 名称 |
最后提交
|
最后更新 |
|---|---|---|
| .. | ||
| internal/pb | 正在载入提交数据... | |
| README.md | 正在载入提交数据... | |
| diag.go | 正在载入提交数据... | |
| vis.go | 正在载入提交数据... |