kops/vendor/github.com/docker/spdystream
Srikanth a67f1ac388 Update godo dependency to v1.19.0 version 2019-08-23 23:23:01 +05:30
..
spdy Update dependencies and BUILD.bazel scripts 2018-09-17 09:57:31 -04:00
BUILD.bazel Update dependencies and BUILD.bazel scripts 2018-09-17 09:57:31 -04:00
CONTRIBUTING.md Update deps in support of drain 2017-03-01 11:56:34 -05:00
LICENSE Update deps in support of drain 2017-03-01 11:56:34 -05:00
LICENSE.docs Update deps in support of drain 2017-03-01 11:56:34 -05:00
MAINTAINERS Update deps in support of drain 2017-03-01 11:56:34 -05:00
README.md Update deps in support of drain 2017-03-01 11:56:34 -05:00
connection.go Update godo dependency to v1.19.0 version 2019-08-23 23:23:01 +05:30
handlers.go Update godo dependency to v1.19.0 version 2019-08-23 23:23:01 +05:30
priority.go Update deps in support of drain 2017-03-01 11:56:34 -05:00
stream.go Update deps in support of drain 2017-03-01 11:56:34 -05:00
utils.go Update deps in support of drain 2017-03-01 11:56:34 -05:00

README.md

SpdyStream

A multiplexed stream library using spdy

Usage

Client example (connecting to mirroring server without auth)

package main

import (
	"fmt"
	"github.com/docker/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/docker/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 © 2014-2015 Docker, Inc. All rights reserved, except as follows. Code is released under the Apache 2.0 license. The README.md file, and files in the "docs" folder are licensed under the Creative Commons Attribution 4.0 International License under the terms and conditions set forth in the file "LICENSE.docs". You may obtain a duplicate copy of the same license, titled CC-BY-SA-4.0, at http://creativecommons.org/licenses/by/4.0/.