iwita 21196b4a6d added v1.15.4 5 gadi atpakaļ
..
spdy 21196b4a6d added v1.15.4 5 gadi atpakaļ
BUILD 21196b4a6d added v1.15.4 5 gadi atpakaļ
CONTRIBUTING.md 21196b4a6d added v1.15.4 5 gadi atpakaļ
LICENSE 21196b4a6d added v1.15.4 5 gadi atpakaļ
LICENSE.docs 21196b4a6d added v1.15.4 5 gadi atpakaļ
MAINTAINERS 21196b4a6d added v1.15.4 5 gadi atpakaļ
README.md 21196b4a6d added v1.15.4 5 gadi atpakaļ
connection.go 21196b4a6d added v1.15.4 5 gadi atpakaļ
handlers.go 21196b4a6d added v1.15.4 5 gadi atpakaļ
priority.go 21196b4a6d added v1.15.4 5 gadi atpakaļ
stream.go 21196b4a6d added v1.15.4 5 gadi atpakaļ
utils.go 21196b4a6d added v1.15.4 5 gadi atpakaļ

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 and license

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/.