code: func NewUNIXDomainSocketServer(ctx context.Context, path string) (StreamServer, error) {
  	switch l := len(path); {
  	case l == 0:
  		return nil, errors.New("cannot have empty path")
  	case l > maxPOSIXNamedSocketLength:
  		return nil, errors.Reason("path exceeds maximum length %d", maxPOSIXNamedSocketLength).
  			InternalReason("path(%s)", path).Err()
  	}
  
  	abs, err := filepath.Abs(path)
  	if err != nil {
  		return nil, errors.Annotate(err, "could not get absolute path of [%s]", path).Err()
  	}
  	path = abs
  
  	ctx = log.SetField(ctx, "namedPipePath", path)
  	return &listenerStreamServer{
  		Context: ctx,
  		gen: func() (net.Listener, string, error) {
  			log.Infof(ctx, "Creating POSIX server socket Listener.")
  
  			// Cleanup any previous named pipe. We don't bother checking for the file
  			// first since the remove is atomic. We also ignore any error here, since
  			// it's probably related to the file not being found.
  			//
  			// If there was an actual error removing the file, we'll catch it shortly
  			// when we try to create it.
  			os.Remove(path)
  
  			// Create a UNIX listener
  			l, err := net.Listen("unix", path)
  			if err != nil {
  				return nil, "", err
  			}
  
  			addr := "unix:" + path
  			ul := selfCleaningUNIXListener{
  				Context:  ctx,
  				Listener: l,
  				path:     path,
  			}
  			return &ul, addr, nil
  		},
  	}, nil
  }
docs: // NewUNIXDomainSocketServer instantiates a new POSIX domain soecket server
  // instance.
  //
  // No resources are actually created until methods are called on the returned
  // server.