diff --git a/essentials/conns.go b/essentials/conns.go index d52d761..432591a 100644 --- a/essentials/conns.go +++ b/essentials/conns.go @@ -1,15 +1,26 @@ package essentials -import "net" +import ( + "io" + "net" +) +// CloseableReader is a reader interface that can close its reading end. type CloseableReader interface { + io.Reader + CloseRead() error } +// CloseableWriter is a writer that can close its writing end. type CloseableWriter interface { + io.Writer + CloseWrite() error } +// Conn is an extension of net.Conn that can close its ends. This mostly +// implies TCP connections. type Conn interface { net.Conn CloseableReader diff --git a/essentials/doc.go b/essentials/doc.go new file mode 100644 index 0000000..5021ffa --- /dev/null +++ b/essentials/doc.go @@ -0,0 +1,6 @@ +// This is a minimal package that contains _essentials_ of mtglib and its +// complimentary packages. This is mostly required to comply some interfaces +// between mtglib and its internals to avoid circular dependencies. +// +// This package should contain only bare minimum and mostly technical. +package essentials