• Brad Fitzpatrick's avatar
    net: change SetTimeout to SetDeadline · b71883e9
    Brad Fitzpatrick authored
    Previously, a timeout (in int64 nanoseconds) applied to a granularity
    even smaller than one operation:  a 100 byte read with a 1 second timeout
    could take 100 seconds, if the bytes all arrived on the network 1 second
    apart.  This was confusing.
    
    Rather than making the timeout granularity be per-Read/Write,
    this CL makes callers set an absolute deadline (in time.Time)
    after which operations will fail.  This makes it possible to
    set deadlines at higher levels, without knowing exactly how
    many read/write operations will happen in e.g. reading an HTTP
    request.
    
    Fixes #2723
    
    R=r, rsc, dave
    CC=golang-dev
    https://golang.org/cl/5555048
    b71883e9
pipe.go 1.31 KB