func Must(desc *Desc, err error) *Desc {
	if err != nil {
		panic(err)
	}
	return desc
}
Must is a helper that wraps a call to a function returning (*Desc, error).
It panics if the error is non-nil and returns desc if not.
It is intended for use in short Desc initializations.
package netpoll
import (
	"net"
	"os"
)
type filer interface {
	File() (*os.File, error)
}
type Desc struct {
	file  *os.File
	event Event
	pfd   uintptr
}
func NewDesc(fd uintptr, ev Event) *Desc {
	return &Desc{
		event: ev,
		pfd:   fd,
	}
}
func (h *Desc) Close() error {
	if h.file != nil {
		return h.file.Close()
	}
	return nil
}
func (h *Desc) Fd() int {
	return int(h.pfd)
}