ceph-csi/e2e/vendor/github.com/moby/spdystream
Niels de Vos f87d06ed85 build: move e2e dependencies into e2e/go.mod
Several packages are only used while running the e2e suite. These
packages are less important to update, as the they can not influence the
final executable that is part of the Ceph-CSI container-image.

By moving these dependencies out of the main Ceph-CSI go.mod, it is
easier to identify if a reported CVE affects Ceph-CSI, or only the
testing (like most of the Kubernetes CVEs).

Signed-off-by: Niels de Vos <ndevos@ibm.com>
2025-03-04 17:43:49 +01:00
..
spdy build: move e2e dependencies into e2e/go.mod 2025-03-04 17:43:49 +01:00
connection.go build: move e2e dependencies into e2e/go.mod 2025-03-04 17:43:49 +01:00
CONTRIBUTING.md build: move e2e dependencies into e2e/go.mod 2025-03-04 17:43:49 +01:00
handlers.go build: move e2e dependencies into e2e/go.mod 2025-03-04 17:43:49 +01:00
LICENSE build: move e2e dependencies into e2e/go.mod 2025-03-04 17:43:49 +01:00
MAINTAINERS build: move e2e dependencies into e2e/go.mod 2025-03-04 17:43:49 +01:00
NOTICE build: move e2e dependencies into e2e/go.mod 2025-03-04 17:43:49 +01:00
priority.go build: move e2e dependencies into e2e/go.mod 2025-03-04 17:43:49 +01:00
README.md build: move e2e dependencies into e2e/go.mod 2025-03-04 17:43:49 +01:00
stream.go build: move e2e dependencies into e2e/go.mod 2025-03-04 17:43:49 +01:00
utils.go build: move e2e dependencies into e2e/go.mod 2025-03-04 17:43:49 +01: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.