From: Eduard Urbach Date: Tue, 24 Apr 2018 14:28:19 +0000 (+0000) Subject: net/http: explain more how Pusher.Push works X-Git-Tag: go1.12beta1~931 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=8919fe9e4d00aec34cfb8e3a0e5c7f629c9e1fc5;p=gostls13.git net/http: explain more how Pusher.Push works This will clarify that the resources are not completely pushed yet when `Push` returns and that it starts a separate goroutine. This might be implementation dependant but as I believe there is currently only one implementation it should be added to the documentation of the interface which most people will look up first. Change-Id: Id151c5563fd0c4e611eb1d93b4f64bf747ddf6d4 GitHub-Last-Rev: 1f46eb9a081f4529abc04026589ffd463be579b3 GitHub-Pull-Request: golang/go#25025 Reviewed-on: https://go-review.googlesource.com/c/108939 Reviewed-by: Brad Fitzpatrick --- diff --git a/src/net/http/http.go b/src/net/http/http.go index ce0eceb1de..30d1a52b63 100644 --- a/src/net/http/http.go +++ b/src/net/http/http.go @@ -135,6 +135,10 @@ type Pusher interface { // data that may trigger a request for URL X. This avoids a race where the // client issues requests for X before receiving the PUSH_PROMISE for X. // + // Push will run in a separate goroutine making the order of arrival + // non-deterministic. Any required synchronization needs to be implemented + // by the caller. + // // Push returns ErrNotSupported if the client has disabled push or if push // is not supported on the underlying connection. Push(target string, opts *PushOptions) error