Remove udpsize from ListenAndServer, too ugly

This commit is contained in:
Miek Gieben 2012-01-27 08:45:33 +01:00
parent ff55b5253a
commit bc2b826f38
2 changed files with 7 additions and 4 deletions

1
msg.go
View File

@ -29,6 +29,7 @@ var (
ErrUnpack error = &Error{Err: "unpacking failed"}
ErrPack error = &Error{Err: "packing failed"}
ErrId error = &Error{Err: "id mismatch"}
ErrBuf error = &Error{Err: "buffer size too large"}
ErrShortRead error = &Error{Err: "short read"}
ErrConn error = &Error{Err: "conn holds both UDP and TCP connection"}
ErrConnEmpty error = &Error{Err: "conn has no connection"}

View File

@ -82,8 +82,8 @@ func Refused(w ResponseWriter, r *Msg) {
func RefusedHandler() Handler { return HandlerFunc(Refused) }
// ...
func ListenAndServe(addr string, network string, handler Handler, size int) error {
server := &Server{Addr: addr, Net: network, Handler: handler, UDPSize: size}
func ListenAndServe(addr string, network string, handler Handler) error {
server := &Server{Addr: addr, Net: network, Handler: handler}
return server.ListenAndServe()
}
@ -303,7 +303,7 @@ func (c *conn) serve() {
if c.hijacked {
return
}
break // TODO(mg) Why is this a loop anyway
break // TODO(mg) Why is this a loop anyway?
}
if c._TCP != nil {
c.close() // Listen and Serve is closed then
@ -318,7 +318,9 @@ func (w *response) Write(data []byte) (n int, err error) {
return 0, err
}
case w.conn._TCP != nil:
// TODO(mg) len(data) > 64K
if len(data) > MaxMsgSize) {
return ErrBuf
}
l := make([]byte, 2)
l[0], l[1] = packUint16(uint16(len(data)))
n, err = w.conn._TCP.Write(l)