Source: golang-github-influxdata-yamux
Section: devel
Priority: optional
Maintainer: Debian Go Packaging Team <pkg-go-maintainers@lists.alioth.debian.org>
Uploaders: Alexandre Viau <aviau@debian.org>
Build-Depends: debhelper (>= 10),
               dh-golang,
               golang-any
Standards-Version: 4.1.1
Homepage: https://github.com/influxdata/yamux
Vcs-Browser: https://salsa.debian.org/pkg-go-team/golang-github-influxdata-yamux
Vcs-Git: https://salsa.debian.org/pkg-go-team/golang-github-influxdata-yamux.git
XS-Go-Import-Path: github.com/influxdata/yamux
Testsuite: autopkgtest-pkg-go

Package: golang-github-influxdata-yamux-dev
Architecture: all
Depends: ${shlibs:Depends},
         ${misc:Depends}
Description: Golang connection multiplexing library
 Yamux Yamux (Yet another Multiplexer) is a multiplexing library for
 Golang.  It relies on an underlying connection to provide reliability and
 ordering, such as TCP or Unix domain sockets, and provides stream-oriented
 multiplexing. It is inspired by SPDY but is not interoperable with it.
 .
 Yamux features include: • Bi-directional streams • Streams can
 be opened by either client or server• Useful for NAT traversal•
 Server-side push support• Flow control • Avoid starvation•
 Back-pressure to prevent overwhelming a receiver• Keep Alives
 • Enables persistent connections over a load balancer•
 Efficient • Enables thousands of logical streams with low
 overheadDocumentation For complete documentation, see the associated
 Godoc (http://godoc.org/github.com/hashicorp/yamux).  Specification The
 full specification for Yamux is provided in the spec.md file.  It can be
 used as a guide to implementors of interoperable libraries.  Usage Using
 Yamux is remarkably simple:
 .
 ```go
 .
 func client() {
     // Get a TCP connection conn, err := net.Dial(...)  if err != nil {
         panic(err)
     }
 // Setup client side of yamux session, err := yamux.Client(conn, nil)
 if err != nil {
     panic(err)
 }
 .
 // Open a new stream stream, err := session.Open() if err != nil {
     panic(err)
 }
 .
 // Stream implements net.Conn stream.Write([]byte("ping"))
 .
 }
 .
 func server() {
     // Accept a TCP connection conn, err := listener.Accept() if err !=
     nil {
         panic(err)
     }
 // Setup server side of yamux session, err := yamux.Server(conn, nil)
 if err != nil {
     panic(err)
 }
 .
 // Accept a stream stream, err := session.Accept() if err != nil {
     panic(err)
 }
 .
 // Listen for a message buf := make([]byte, 4) stream.Read(buf)
 .
 }
 .
 ```
