aboutsummaryrefslogtreecommitdiff
path: root/slowpoke.go
diff options
context:
space:
mode:
authorJames Barnett <noreply@jamesbarnett.xyz>2018-12-27 21:52:25 +0000
committerJames Barnett <noreply@jamesbarnett.xyz>2018-12-27 21:52:25 +0000
commit7672da39aafb3e9a2fcbb0bce236dff8b7613355 (patch)
tree19e8619a6ff94136cf38e871c40ff8acdd612e8b /slowpoke.go
parent370f8120e4ddb8cef35c62f77b060599c92a0c53 (diff)
downloadslowpoke-7672da39aafb3e9a2fcbb0bce236dff8b7613355.tar.xz
slowpoke-7672da39aafb3e9a2fcbb0bce236dff8b7613355.zip
Remove cmd package. Cleanup logging.
Diffstat (limited to 'slowpoke.go')
-rw-r--r--slowpoke.go17
1 files changed, 4 insertions, 13 deletions
diff --git a/slowpoke.go b/slowpoke.go
index 4a36306..fb491a1 100644
--- a/slowpoke.go
+++ b/slowpoke.go
@@ -1,4 +1,4 @@
-package slowpoke
+package main
import (
"io"
@@ -18,7 +18,7 @@ type Slowpoke struct {
logger *logging.Logger
}
-func New(conn net.Conn, targetAddr *net.TCPAddr, latency time.Duration, bufferSize int, logger *logging.Logger) *Slowpoke {
+func NewSlowpoke(conn net.Conn, targetAddr *net.TCPAddr, latency time.Duration, bufferSize int, logger *logging.Logger) *Slowpoke {
return &Slowpoke{
conn: conn,
targetAddr: targetAddr,
@@ -55,25 +55,16 @@ func (s *Slowpoke) createBuffer() []byte {
func (s *Slowpoke) transferWithLatency(source net.Conn, target net.Conn) {
byteBuffer := s.createBuffer()
- var transferDirection string
- // If the data source is the client then we are sending
- if source == s.conn {
- transferDirection = "%d bytes sent"
- } else {
- transferDirection = "%d bytes received"
- }
-
for {
bytesRead, readError := source.Read(byteBuffer)
if bytesRead > 0 {
+ s.logger.Debugf("Transferring %d bytes from %s to %s with %s added latency", bytesRead, source.RemoteAddr(), target.RemoteAddr(), s.latency)
+
if s.latency != 0 {
- s.logger.Debugf(transferDirection+" with latency of %s", bytesRead, s.latency)
time.Sleep(s.latency)
- } else {
- s.logger.Debugf(transferDirection, bytesRead)
}
bytesWritten, writeError := target.Write(byteBuffer[0:bytesRead])