forked from forks/go-ethereum
* simv2: wip * simulation: exec adapter start/stop * simulation: add node status to exec adapter * simulation: initial simulation code * simulation: exec adapter, configure path to executable * simulation: initial docker adapter * simulation: wip kubernetes adapter * simulation: kubernetes adapter proxy * simulation: implement GetAll/StartAll/StopAll * simulation: kuberentes adapter - set env vars and resource limits * simulation: discovery test * simulation: remove port definitions within docker adapter * simulation: simplify wait for healthy loop * simulation: get nat ip addr from interface * simulation: pull docker images automatically * simulation: NodeStatus -> NodeInfo * simulation: move discovery test to example dir * simulation: example snapshot usage * simulation: add goclient specific simulation * simulation: add peer connections to snapshot * simulation: close rpc client * simulation: don't export kubernetes proxy server * simulation: merge simulation code * simulation: don't export nodemap * simulation: rename SimulationSnapshot -> Snapshot * simulation: linting fixes * simulation: add k8s available helper func * simulation: vendor * simulation: fix 'no non-test Go files' when building * simulation: remove errors from interface methods where non were returned * simulation: run getHealthInfo check in parallel
33 lines
1,003 B
Go
33 lines
1,003 B
Go
package sockets
|
|
|
|
import (
|
|
"context"
|
|
"net"
|
|
"net/http"
|
|
"time"
|
|
|
|
"github.com/Microsoft/go-winio"
|
|
)
|
|
|
|
func configureUnixTransport(tr *http.Transport, proto, addr string) error {
|
|
return ErrProtocolNotAvailable
|
|
}
|
|
|
|
func configureNpipeTransport(tr *http.Transport, proto, addr string) error {
|
|
// No need for compression in local communications.
|
|
tr.DisableCompression = true
|
|
tr.DialContext = func(ctx context.Context, _, _ string) (net.Conn, error) {
|
|
// DialPipeContext() has been added to winio:
|
|
// https://github.com/Microsoft/go-winio/commit/5fdbdcc2ae1c7e1073157fa7cb34a15eab472e1d
|
|
// However, a new version of winio with this commit has not been released yet.
|
|
// Continue to use DialPipe() until DialPipeContext() becomes available.
|
|
//return winio.DialPipeContext(ctx, addr)
|
|
return DialPipe(addr, defaultTimeout)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// DialPipe connects to a Windows named pipe.
|
|
func DialPipe(addr string, timeout time.Duration) (net.Conn, error) {
|
|
return winio.DialPipe(addr, &timeout)
|
|
}
|