1
0
mirror of https://github.com/ceph/ceph-csi.git synced 2024-12-28 07:50:19 +00:00
ceph-csi/vendor/github.com/moby/spdystream
Madhu Rajanna 51a5bde97f ci: update golang dependencies to 1.17.5 release
updating the depencendices to golang 1.17.5
release

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2021-12-13 07:32:54 +00:00
..
spdy rebase: update kubernetes to v1.21.2 2021-07-01 03:35:23 +00:00
connection.go rebase: update kubernetes to v1.21.2 2021-07-01 03:35:23 +00:00
CONTRIBUTING.md rebase: update kubernetes to v1.21.2 2021-07-01 03:35:23 +00:00
handlers.go rebase: update kubernetes to v1.21.2 2021-07-01 03:35:23 +00:00
LICENSE rebase: update kubernetes to v1.21.2 2021-07-01 03:35:23 +00:00
MAINTAINERS rebase: update kubernetes to v1.21.2 2021-07-01 03:35:23 +00:00
NOTICE rebase: update kubernetes to v1.21.2 2021-07-01 03:35:23 +00:00
priority.go rebase: update kubernetes to v1.21.2 2021-07-01 03:35:23 +00:00
README.md rebase: update kubernetes to v1.21.2 2021-07-01 03:35:23 +00:00
stream.go rebase: update kubernetes to v1.21.2 2021-07-01 03:35:23 +00:00
utils.go rebase: update kubernetes to v1.21.2 2021-07-01 03:35:23 +00:00

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 2013-2021 Docker, inc. Released under the Apache 2.0 license.