INativePipeServices

Overview

The INativePipeServices interface is used to represent a concrete implementation of NamedPipes-related infrastructure.

This abstraction was introduced to make NamedPipeClientChannel and NamedPipeServerChannel implementations platform-independent. Currently, two private classes implement this interface for both Windows, where native NamedPipes are used, and for Mono, where the Mono.Unix.UnixClient and Mono.Unix.UnixListener classes are used.

Concrete instances providing the INativePipeServices interface can be created, when needed, by the NativePipeImplementation.GetServices method.

Location

Required Methods


Connect

Creates a stream that represents a connection to the Server at the Path. This connection is represented by a read-write Stream.

 

method Connect(server: String; path: String): Stream

 

Stream Connect(String server, String path)

 

Function Connect(server As String, path As String) As Stream

Parameters:

  • server: Name of the server
  • path: Path used to identify the named pipe on the target host

Listen

Creates a new listener instance implementing the INativePipeServer with the provided parameters (see below).

 

method Listen(server: String; path: String; allowAll: Boolean): INativePipeServer

 

INativePipeServer Listen(String server, String path, Boolean allowAll)

 

Function Listen(server As String, path As String, allowAll As Boolean) As INativePipeServer

Parameters:

  • server: Name of the server
  • path: Path used to identify the named pipe on the target host
  • allowAll: Flag that defines whether this listener instance accepts all incoming connections