OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libgo/] [go/] [net/] [pipe.go] - Blame information for rev 854

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 747 jeremybenn
// Copyright 2010 The Go Authors.  All rights reserved.
2
// Use of this source code is governed by a BSD-style
3
// license that can be found in the LICENSE file.
4
 
5
package net
6
 
7
import (
8
        "errors"
9
        "io"
10
        "time"
11
)
12
 
13
// Pipe creates a synchronous, in-memory, full duplex
14
// network connection; both ends implement the Conn interface.
15
// Reads on one end are matched with writes on the other,
16
// copying data directly between the two; there is no internal
17
// buffering.
18
func Pipe() (Conn, Conn) {
19
        r1, w1 := io.Pipe()
20
        r2, w2 := io.Pipe()
21
 
22
        return &pipe{r1, w2}, &pipe{r2, w1}
23
}
24
 
25
type pipe struct {
26
        *io.PipeReader
27
        *io.PipeWriter
28
}
29
 
30
type pipeAddr int
31
 
32
func (pipeAddr) Network() string {
33
        return "pipe"
34
}
35
 
36
func (pipeAddr) String() string {
37
        return "pipe"
38
}
39
 
40
func (p *pipe) Close() error {
41
        err := p.PipeReader.Close()
42
        err1 := p.PipeWriter.Close()
43
        if err == nil {
44
                err = err1
45
        }
46
        return err
47
}
48
 
49
func (p *pipe) LocalAddr() Addr {
50
        return pipeAddr(0)
51
}
52
 
53
func (p *pipe) RemoteAddr() Addr {
54
        return pipeAddr(0)
55
}
56
 
57
func (p *pipe) SetDeadline(t time.Time) error {
58
        return errors.New("net.Pipe does not support deadlines")
59
}
60
 
61
func (p *pipe) SetReadDeadline(t time.Time) error {
62
        return errors.New("net.Pipe does not support deadlines")
63
}
64
 
65
func (p *pipe) SetWriteDeadline(t time.Time) error {
66
        return errors.New("net.Pipe does not support deadlines")
67
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.