-
Notifications
You must be signed in to change notification settings - Fork 17.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
net: fix inconsistent error values on File
This change fixes inconsistent error values on File{Conn,Listener,PacketConn} and File method of Conn, Listener. Updates #4856. Change-Id: I3197b9277bef0e034427e3a44fa77523acaa2520 Reviewed-on: https://go-review.googlesource.com/9101 Reviewed-by: Ian Lance Taylor <iant@golang.org>
- Loading branch information
Showing
14 changed files
with
217 additions
and
97 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
// Copyright 2015 The Go Authors. All rights reserved. | ||
// Use of this source code is governed by a BSD-style | ||
// license that can be found in the LICENSE file. | ||
|
||
package net | ||
|
||
import "os" | ||
|
||
type fileAddr string | ||
|
||
func (fileAddr) Network() string { return "file+net" } | ||
func (f fileAddr) String() string { return string(f) } | ||
|
||
// FileConn returns a copy of the network connection corresponding to | ||
// the open file f. | ||
// It is the caller's responsibility to close f when finished. | ||
// Closing c does not affect f, and closing f does not affect c. | ||
func FileConn(f *os.File) (c Conn, err error) { | ||
c, err = fileConn(f) | ||
if err != nil { | ||
err = &OpError{Op: "file", Net: "file+net", Addr: fileAddr(f.Name()), Err: err} | ||
} | ||
return | ||
} | ||
|
||
// FileListener returns a copy of the network listener corresponding | ||
// to the open file f. | ||
// It is the caller's responsibility to close ln when finished. | ||
// Closing ln does not affect f, and closing f does not affect ln. | ||
func FileListener(f *os.File) (ln Listener, err error) { | ||
ln, err = fileListener(f) | ||
if err != nil { | ||
err = &OpError{Op: "file", Net: "file+net", Addr: fileAddr(f.Name()), Err: err} | ||
} | ||
return | ||
} | ||
|
||
// FilePacketConn returns a copy of the packet network connection | ||
// corresponding to the open file f. | ||
// It is the caller's responsibility to close f when finished. | ||
// Closing c does not affect f, and closing f does not affect c. | ||
func FilePacketConn(f *os.File) (c PacketConn, err error) { | ||
c, err = filePacketConn(f) | ||
if err != nil { | ||
err = &OpError{Op: "file", Net: "file+net", Addr: fileAddr(f.Name()), Err: err} | ||
} | ||
return | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.