mirror of
https://github.com/hanzoai/telemetry.git
synced 2026-10-30 20:01:49 +00:00
#### Description Support using Windows named pipes as a transport in confignet. The implementation uses https://github.com/microsoft/go-winio/. #### Link to tracking issue Fixes https://github.com/open-telemetry/opentelemetry-collector/issues/15085 #### Testing Added unit tests covering the new transport. There's also a unit test for validating named path paths. #### Documentation Added the new value to the config schema and README. --------- Co-authored-by: Alex Boten <[email protected]>
28 lines
614 B
Go
28 lines
614 B
Go
// Copyright The OpenTelemetry Authors
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
//go:build windows
|
|
|
|
package confignet // import "go.opentelemetry.io/collector/config/confignet"
|
|
|
|
import (
|
|
"context"
|
|
"net"
|
|
"time"
|
|
|
|
"github.com/Microsoft/go-winio"
|
|
)
|
|
|
|
func dialNpipe(ctx context.Context, endpoint string, timeout time.Duration) (net.Conn, error) {
|
|
if timeout != 0 {
|
|
var cancel context.CancelFunc
|
|
ctx, cancel = context.WithTimeout(ctx, timeout)
|
|
defer cancel()
|
|
}
|
|
return winio.DialPipeContext(ctx, endpoint)
|
|
}
|
|
|
|
func listenNpipe(endpoint string) (net.Listener, error) {
|
|
return winio.ListenPipe(endpoint, nil)
|
|
}
|