summaryrefslogtreecommitdiffhomepage
path: root/pkg/tcpip/transport/unix/connectioned.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/tcpip/transport/unix/connectioned.go')
-rw-r--r--pkg/tcpip/transport/unix/connectioned.go11
1 files changed, 11 insertions, 0 deletions
diff --git a/pkg/tcpip/transport/unix/connectioned.go b/pkg/tcpip/transport/unix/connectioned.go
index dd7c03cf1..e319b3bb8 100644
--- a/pkg/tcpip/transport/unix/connectioned.go
+++ b/pkg/tcpip/transport/unix/connectioned.go
@@ -158,6 +158,17 @@ func NewPair(stype SockType, uid UniqueIDProvider) (Endpoint, Endpoint) {
return a, b
}
+// NewExternal creates a new externally backed Endpoint. It behaves like a
+// socketpair.
+func NewExternal(stype SockType, uid UniqueIDProvider, queue *waiter.Queue, receiver Receiver, connected ConnectedEndpoint) Endpoint {
+ return &connectionedEndpoint{
+ baseEndpoint: baseEndpoint{Queue: queue, receiver: receiver, connected: connected},
+ id: uid.UniqueID(),
+ idGenerator: uid,
+ stype: stype,
+ }
+}
+
// ID implements ConnectingEndpoint.ID.
func (e *connectionedEndpoint) ID() uint64 {
return e.id