aboutsummaryrefslogtreecommitdiff
path: root/tde/tde.go
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2015-07-15 19:47:41 +0200
committerDimitri Sokolyuk <demon@dim13.org>2015-07-15 19:47:41 +0200
commitc6ba94c4087c2145639492a2fd21d647138a9a6d (patch)
treec3dc4f3d39f53e06c0e44f16343bf3499aec3e25 /tde/tde.go
parente2e488e5afad6e584eea894b0de5c68b78bea5db (diff)
Separate helper network functions
Diffstat (limited to 'tde/tde.go')
-rw-r--r--tde/tde.go39
1 files changed, 39 insertions, 0 deletions
diff --git a/tde/tde.go b/tde/tde.go
new file mode 100644
index 0000000..9413f09
--- /dev/null
+++ b/tde/tde.go
@@ -0,0 +1,39 @@
+package tde
+
+import (
+ "encoding/binary"
+ "log"
+ "net"
+)
+
+var nbo = binary.BigEndian // Network Byte Order
+
+func Send(c net.Conn, b []byte) {
+ size := int16(len(b))
+ if err := binary.Write(c, nbo, size); err != nil {
+ log.Fatal(err)
+ }
+ if err := binary.Write(c, nbo, b); err != nil {
+ log.Fatal(err)
+ }
+}
+
+func Recv(c net.Conn) (b []byte) {
+ var size int16
+ if err := binary.Read(c, nbo, &size); err != nil {
+ log.Fatal(err)
+ }
+ b = make([]byte, size)
+ if err := binary.Read(c, nbo, b); err != nil {
+ log.Fatal(err)
+ }
+ return
+}
+
+func Dial(service string) net.Conn {
+ conn, err := net.Dial("tcp", service)
+ if err != nil {
+ log.Fatal(err)
+ }
+ return conn
+}