aboutsummaryrefslogtreecommitdiffstats
path: root/rpc/websocket.go
diff options
context:
space:
mode:
authorPéter Szilágyi <peterke@gmail.com>2017-03-23 16:22:56 +0800
committerGitHub <noreply@github.com>2017-03-23 16:22:56 +0800
commit3fa0fa713bc1508835bdecd7dea78ff09803e327 (patch)
tree6a5d4a7dcfd72489bd4f7df70f5188a636947c24 /rpc/websocket.go
parent525116dbff916825463931361f75e75e955c12e2 (diff)
parentf1534f5797664856218c8347366488f37f1e7924 (diff)
downloaddexon-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.go19
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
+}