11package spdy
22
33import (
4- "io"
54 "net"
65
76 "github.com/docker/libchan"
7+ "github.com/docker/libchan/encoding/msgpack"
88)
99
10- type pipeSender struct {
11- session libchan.Transport
12- sender * sender
13- }
14-
15- type pipeReceiver struct {
16- session libchan.Transport
17- receiver * receiver
18- }
19-
2010// Pipe creates a top-level channel pipe using an in memory transport.
2111func Pipe () (libchan.Receiver , libchan.Sender , error ) {
2212 c1 , c2 := net .Pipe ()
@@ -25,13 +15,13 @@ func Pipe() (libchan.Receiver, libchan.Sender, error) {
2515 if err != nil {
2616 return nil , nil , err
2717 }
28- t1 := NewTransport (s1 , & MsgpackCodec {})
18+ t1 := NewTransport (s1 , & msgpack. Codec {})
2919
3020 s2 , err := NewSpdyStreamProvider (c2 , true )
3121 if err != nil {
3222 return nil , nil , err
3323 }
34- t2 := NewTransport (s2 , & MsgpackCodec {})
24+ t2 := NewTransport (s2 , & msgpack. Codec {})
3525
3626 var recv libchan.Receiver
3727 waitError := make (chan error )
@@ -55,28 +45,5 @@ func Pipe() (libchan.Receiver, libchan.Sender, error) {
5545 c2 .Close ()
5646 return nil , nil , receiveErr
5747 }
58- return & pipeReceiver {t2 , recv .(* receiver )}, & pipeSender {t1 , send .(* sender )}, nil
59- }
60-
61- func (p * pipeSender ) Send (message interface {}) error {
62- return p .sender .Send (message )
63- }
64-
65- func (p * pipeSender ) Close () error {
66- err := p .sender .Close ()
67- if err != nil {
68- return err
69- }
70- if closer , ok := p .session .(io.Closer ); ok {
71- return closer .Close ()
72- }
73- return nil
74- }
75-
76- func (p * pipeReceiver ) Receive (message interface {}) error {
77- return p .receiver .Receive (message )
78- }
79-
80- func (p * pipeReceiver ) SendTo (dst libchan.Sender ) (int , error ) {
81- return p .receiver .SendTo (dst )
48+ return recv , send , nil
8249}
0 commit comments