mirror of
https://gitlab.com/ric_harvey/MailHog.git
synced 2024-11-27 16:24:04 +00:00
.. | ||
linkio.go | ||
README.md |
linkio
linkio provides an io.Reader and io.Writer that simulate a network connection of a certain speed, e.g. to simulate a mobile connection.
Quick start
You can use linkio
to wrap existing io.Reader and io.Writer interfaces:
// Create a new link at 512kbps
link = linkio.NewLink(512 * linkio.KilobitPerSecond)
// Open a connection
conn, err := net.Dial("tcp", "google.com:80")
if err != nil {
// handle error
}
// Create a link reader/writer
linkReader := link.NewLinkReader(io.Reader(conn))
linkWriter := link.NewLinkWriter(io.Writer(conn))
// Use them as you would normally...
fmt.Fprintf(linkWriter, "GET / HTTP/1.0\r\n\r\n")
status, err := bufio.NewReader(linkReader).ReadString('\n')
LICENSE
This code is originally a fork of code.google.com/p/jra-go/linkio.
The source contained this license text:
Use of this source code is governed by a BSD-style
license that can be found in the LICENSE file.
There is no LICENSE file, but it may be referring to this.
Any modifications since the initial commit are Copyright © 2014, Ian Kent (http://iankent.uk), and are released under the terms of the MIT License.