aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2015-09-29 10:09:58 +0200
committerDimitri Sokolyuk <demon@dim13.org>2015-09-29 10:09:58 +0200
commite867d90e8e78a3b3e92debe2583e5583a2d8769a (patch)
tree8649491de232baa28916f5baeceac2e2a5ecb37f
parent7f505b9a170f76e6e5b985646c545e50c5884558 (diff)
Rename tde into spdu
-rw-r--r--spdu/spdu.go (renamed from tde/tde.go)13
1 files changed, 11 insertions, 2 deletions
diff --git a/tde/tde.go b/spdu/spdu.go
index 93b6010..688d5b4 100644
--- a/tde/tde.go
+++ b/spdu/spdu.go
@@ -1,17 +1,26 @@
-package tde
+// SPDU (Session Protocol Data Unit)
+package spdu
import (
"encoding/binary"
+ "errors"
"io"
"net"
)
-const maxLen = 240 // max PDU len incl. header
+// |<-- 2 octets -->|<-- maximum 240 octets -->|
+// | header | acse/rose pdu |
+// | big endian | |
+
+const maxLen = 240 // max PDU size
type Conn struct{ net.Conn }
func (c Conn) Write(p []byte) (n int, err error) {
size := uint16(len(p))
+ if size > maxLen {
+ return 0, errors.New("PDU too big")
+ }
if err := binary.Write(c.Conn, binary.BigEndian, size); err != nil {
return 0, err
}