...

Source file src/github.com/godbus/dbus/v5/transport_nonce_tcp.go

Documentation: github.com/godbus/dbus/v5

     1  //+build !windows
     2  
     3  package dbus
     4  
     5  import (
     6  	"errors"
     7  	"io/ioutil"
     8  	"net"
     9  )
    10  
    11  func init() {
    12  	transports["nonce-tcp"] = newNonceTcpTransport
    13  }
    14  
    15  func newNonceTcpTransport(keys string) (transport, error) {
    16  	host := getKey(keys, "host")
    17  	port := getKey(keys, "port")
    18  	noncefile := getKey(keys, "noncefile")
    19  	if host == "" || port == "" || noncefile == "" {
    20  		return nil, errors.New("dbus: unsupported address (must set host, port and noncefile)")
    21  	}
    22  	protocol, err := tcpFamily(keys)
    23  	if err != nil {
    24  		return nil, err
    25  	}
    26  	socket, err := net.Dial(protocol, net.JoinHostPort(host, port))
    27  	if err != nil {
    28  		return nil, err
    29  	}
    30  	b, err := ioutil.ReadFile(noncefile)
    31  	if err != nil {
    32  		return nil, err
    33  	}
    34  	_, err = socket.Write(b)
    35  	if err != nil {
    36  		return nil, err
    37  	}
    38  	return NewConn(socket)
    39  }
    40  

View as plain text