mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-11-27 00:30:18 +00:00
51a5bde97f
updating the depencendices to golang 1.17.5 release Signed-off-by: Madhu Rajanna <madhupr007@gmail.com> |
||
---|---|---|
.. | ||
spdy | ||
connection.go | ||
CONTRIBUTING.md | ||
handlers.go | ||
LICENSE | ||
MAINTAINERS | ||
NOTICE | ||
priority.go | ||
README.md | ||
stream.go | ||
utils.go |
SpdyStream
A multiplexed stream library using spdy
Usage
Client example (connecting to mirroring server without auth)
package main
import (
"fmt"
"github.com/moby/spdystream"
"net"
"net/http"
)
func main() {
conn, err := net.Dial("tcp", "localhost:8080")
if err != nil {
panic(err)
}
spdyConn, err := spdystream.NewConnection(conn, false)
if err != nil {
panic(err)
}
go spdyConn.Serve(spdystream.NoOpStreamHandler)
stream, err := spdyConn.CreateStream(http.Header{}, nil, false)
if err != nil {
panic(err)
}
stream.Wait()
fmt.Fprint(stream, "Writing to stream")
buf := make([]byte, 25)
stream.Read(buf)
fmt.Println(string(buf))
stream.Close()
}
Server example (mirroring server without auth)
package main
import (
"github.com/moby/spdystream"
"net"
)
func main() {
listener, err := net.Listen("tcp", "localhost:8080")
if err != nil {
panic(err)
}
for {
conn, err := listener.Accept()
if err != nil {
panic(err)
}
spdyConn, err := spdystream.NewConnection(conn, true)
if err != nil {
panic(err)
}
go spdyConn.Serve(spdystream.MirrorStreamHandler)
}
}
Copyright and license
Copyright 2013-2021 Docker, inc. Released under the Apache 2.0 license.