diff options
author | Péter Szilágyi <peterke@gmail.com> | 2017-03-23 16:22:56 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-03-23 16:22:56 +0800 |
commit | 3fa0fa713bc1508835bdecd7dea78ff09803e327 (patch) | |
tree | 6a5d4a7dcfd72489bd4f7df70f5188a636947c24 /rpc/websocket.go | |
parent | 525116dbff916825463931361f75e75e955c12e2 (diff) | |
parent | f1534f5797664856218c8347366488f37f1e7924 (diff) | |
download | dexon-3fa0fa713bc1508835bdecd7dea78ff09803e327.tar dexon-3fa0fa713bc1508835bdecd7dea78ff09803e327.tar.gz dexon-3fa0fa713bc1508835bdecd7dea78ff09803e327.tar.bz2 dexon-3fa0fa713bc1508835bdecd7dea78ff09803e327.tar.lz dexon-3fa0fa713bc1508835bdecd7dea78ff09803e327.tar.xz dexon-3fa0fa713bc1508835bdecd7dea78ff09803e327.tar.zst dexon-3fa0fa713bc1508835bdecd7dea78ff09803e327.zip |
Merge pull request #3809 from fjl/all-use-normal-context
all: import "context" instead of "golang.org/x/net/context"
Diffstat (limited to 'rpc/websocket.go')
-rw-r--r-- | rpc/websocket.go | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/rpc/websocket.go b/rpc/websocket.go index f4271fda8..587010820 100644 --- a/rpc/websocket.go +++ b/rpc/websocket.go @@ -17,6 +17,7 @@ package rpc import ( + "context" "crypto/tls" "fmt" "net" @@ -24,10 +25,9 @@ import ( "net/url" "os" "strings" + "time" "github.com/ethereum/go-ethereum/log" - - "golang.org/x/net/context" "golang.org/x/net/websocket" "gopkg.in/fatih/set.v0" ) @@ -150,3 +150,18 @@ func wsDialAddress(location *url.URL) string { } return location.Host } + +func dialContext(ctx context.Context, network, addr string) (net.Conn, error) { + d := &net.Dialer{KeepAlive: tcpKeepAliveInterval} + return d.DialContext(ctx, network, addr) +} + +func contextDialer(ctx context.Context) *net.Dialer { + dialer := &net.Dialer{Cancel: ctx.Done(), KeepAlive: tcpKeepAliveInterval} + if deadline, ok := ctx.Deadline(); ok { + dialer.Deadline = deadline + } else { + dialer.Deadline = time.Now().Add(defaultDialTimeout) + } + return dialer +} |