package nslcd_proto import "io" type NslcdError string func (o NslcdError) Error() string { return string(o) } func Write(fd io.Writer, data interface{}) (err error) { err = nil defer func() { if r := recover(); r != nil { switch r := r.(type) { case error: err = r default: panic(r) } } }() write(fd, data) return } func Read(fd io.Reader, data interface{}) (err error) { err = nil defer func() { if r := recover(); r != nil { switch r := r.(type) { case error: err = r default: panic(r) } } }() read(fd, data) return } func HandleRequest(in io.Reader, out io.Writer, backend Backend) (err error) { err = nil defer func() { if r := recover(); r != nil { switch r := r.(type) { case error: err = r default: panic(r) } } }() handleRequest(in, out, backend) return } // Initialize() error { func // e := c.SetReadDeadline(...) // e := c.SetWriteDeadline(...) // }