Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(172)

Side by Side Diff: logdog/client/butler/streamserver/namedPipe_windows.go

Issue 2733243003: LogDog: Use "winio" instead of "npipe". (Closed)
Patch Set: reenable test Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | logdog/client/butler/streamserver/namedPipe_windows_test.go » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The LUCI Authors. All rights reserved. 1 // Copyright 2015 The LUCI Authors. All rights reserved.
2 // Use of this source code is governed under the Apache License, Version 2.0 2 // Use of this source code is governed under the Apache License, Version 2.0
3 // that can be found in the LICENSE file. 3 // that can be found in the LICENSE file.
4 4
5 package streamserver 5 package streamserver
6 6
7 import ( 7 import (
8 "net" 8 "net"
9 9
10 "golang.org/x/net/context"
11
10 "github.com/luci/luci-go/common/errors" 12 "github.com/luci/luci-go/common/errors"
11 log "github.com/luci/luci-go/common/logging" 13 log "github.com/luci/luci-go/common/logging"
12 "github.com/luci/luci-go/logdog/client/butlerlib/streamclient" 14 "github.com/luci/luci-go/logdog/client/butlerlib/streamclient"
13 15
14 » "golang.org/x/net/context" 16 » "github.com/Microsoft/go-winio"
15 » npipe "gopkg.in/natefinch/npipe.v2"
16 ) 17 )
17 18
18 // maxWindowsNamedPipeLength is the maximum length of a Windows named pipe. 19 // maxWindowsNamedPipeLength is the maximum length of a Windows named pipe.
19 const maxWindowsNamedPipeLength = 256 20 const maxWindowsNamedPipeLength = 256
20 21
21 // NewNamedPipeServer instantiates a new Windows named pipe server instance. 22 // NewNamedPipeServer instantiates a new Windows named pipe server instance.
22 func NewNamedPipeServer(ctx context.Context, name string) (StreamServer, error) { 23 func NewNamedPipeServer(ctx context.Context, name string) (StreamServer, error) {
23 switch l := len(name); { 24 switch l := len(name); {
24 case l == 0: 25 case l == 0:
25 return nil, errors.New("cannot have empty name") 26 return nil, errors.New("cannot have empty name")
26 case l > maxWindowsNamedPipeLength: 27 case l > maxWindowsNamedPipeLength:
27 return nil, errors.Reason("name exceeds maximum length %(max)d") . 28 return nil, errors.Reason("name exceeds maximum length %(max)d") .
28 D("name", name). 29 D("name", name).
29 D("max", maxWindowsNamedPipeLength). 30 D("max", maxWindowsNamedPipeLength).
30 Err() 31 Err()
31 } 32 }
32 33
33 ctx = log.SetField(ctx, "name", name) 34 ctx = log.SetField(ctx, "name", name)
34 return &listenerStreamServer{ 35 return &listenerStreamServer{
35 Context: ctx, 36 Context: ctx,
36 gen: func() (net.Listener, string, error) { 37 gen: func() (net.Listener, string, error) {
37 address := "net.pipe:" + name 38 address := "net.pipe:" + name
38 pipePath := streamclient.LocalNamedPipePath(name) 39 pipePath := streamclient.LocalNamedPipePath(name)
39 log.Fields{ 40 log.Fields{
40 "addr": address, 41 "addr": address,
41 "pipePath": pipePath, 42 "pipePath": pipePath,
42 }.Debugf(ctx, "Creating Windows server socket Listener." ) 43 }.Debugf(ctx, "Creating Windows server socket Listener." )
43 44
44 » » » l, err := npipe.Listen(pipePath) 45 » » » l, err := winio.ListenPipe(pipePath, nil)
45 if err != nil { 46 if err != nil {
46 return nil, "", errors.Annotate(err).Reason("fai led to listen on named pipe").Err() 47 return nil, "", errors.Annotate(err).Reason("fai led to listen on named pipe").Err()
47 } 48 }
48 return l, address, nil 49 return l, address, nil
49 }, 50 },
50 }, nil 51 }, nil
51 } 52 }
OLDNEW
« no previous file with comments | « no previous file | logdog/client/butler/streamserver/namedPipe_windows_test.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698