Lines Matching refs:fd

43 func (fd *netFD) init() error {
48 func (fd *netFD) name() string {
50 if fd.laddr != nil {
51 ls = fd.laddr.String()
53 if fd.raddr != nil {
54 rs = fd.raddr.String()
56 return fd.net + ":" + ls + "->" + rs
59 func (fd *netFD) ok() bool { return fd != nil && fd.ctl != nil }
61 func (fd *netFD) destroy() {
62 if !fd.ok() {
65 err := fd.ctl.Close()
66 if fd.data != nil {
67 if err1 := fd.data.Close(); err1 != nil && err == nil {
71 if fd.listen != nil {
72 if err1 := fd.listen.Close(); err1 != nil && err == nil {
76 fd.ctl = nil
77 fd.data = nil
78 fd.listen = nil
81 func (fd *netFD) Read(b []byte) (n int, err error) {
82 if !fd.ok() || fd.data == nil {
85 n, err = fd.pfd.Read(fd.data.Read, b)
86 if fd.net == "udp" && err == io.EOF {
93 func (fd *netFD) Write(b []byte) (n int, err error) {
94 if !fd.ok() || fd.data == nil {
97 return fd.pfd.Write(fd.data.Write, b)
100 func (fd *netFD) closeRead() error {
101 if !fd.ok() {
107 func (fd *netFD) closeWrite() error {
108 if !fd.ok() {
114 func (fd *netFD) Close() error {
115 if err := fd.pfd.Close(); err != nil {
118 if !fd.ok() {
121 if fd.net == "tcp" {
123 _, err := fd.ctl.WriteString("close")
128 err := fd.ctl.Close()
129 if fd.data != nil {
130 if err1 := fd.data.Close(); err1 != nil && err == nil {
134 if fd.listen != nil {
135 if err1 := fd.listen.Close(); err1 != nil && err == nil {
139 fd.ctl = nil
140 fd.data = nil
141 fd.listen = nil
146 func (fd *netFD) dup() (*os.File, error) {
147 if !fd.ok() || fd.data == nil {
150 return fd.file(fd.data, fd.dir+"/data")
154 if !l.fd.ok() {
157 return l.fd.file(l.fd.ctl, l.fd.dir+"/ctl")
160 func (fd *netFD) file(f *os.File, s string) (*os.File, error) {
168 func setReadBuffer(fd *netFD, bytes int) error {
172 func setWriteBuffer(fd *netFD, bytes int) error {