package keepclient
import (
- "arvados.org/buffer"
+ "arvados.org/streamer"
"crypto/md5"
"crypto/tls"
"errors"
Service_roots []string
Want_replicas int
Client *http.Client
+ Using_proxy bool
}
// Create a new KeepClient, initialized with standard Arvados environment
// ARVADOS_API_HOST_INSECURE. This will contact the API server to discover
// Keep servers.
func MakeKeepClient() (kc KeepClient, err error) {
- insecure := (os.Getenv("ARVADOS_API_HOST_INSECURE") != "")
+ insecure := (os.Getenv("ARVADOS_API_HOST_INSECURE") == "true")
kc = KeepClient{
ApiServer: os.Getenv("ARVADOS_API_HOST"),
ApiInsecure: insecure,
Want_replicas: 2,
Client: &http.Client{Transport: &http.Transport{
- TLSClientConfig: &tls.Config{InsecureSkipVerify: insecure},
- }}}
+ TLSClientConfig: &tls.Config{InsecureSkipVerify: insecure}}},
+ Using_proxy: false}
err = (&kc).discoverKeepServers()
bufsize = BLOCKSIZE
}
- t := buffer.StartTransferFromReader(bufsize, HashCheckingReader{r, md5.New(), hash})
+ t := streamer.AsyncStreamFromReader(bufsize, HashCheckingReader{r, md5.New(), hash})
defer t.Close()
return this.putReplicas(hash, t, expectedLength)
// replicas that were written and if there was an error. Note this will return
// InsufficientReplias whenever 0 <= replicas < this.Wants_replicas.
func (this KeepClient) PutHB(hash string, buf []byte) (replicas int, err error) {
- t := buffer.StartTransferFromSlice(buf)
+ t := streamer.AsyncStreamFromSlice(buf)
defer t.Close()
return this.putReplicas(hash, t, int64(len(buf)))