go-tg-screenshot-bot
41 строка · 797.0 Байт
1package dbus
2
3import (
4"errors"
5"net"
6)
7
8func init() {
9transports["tcp"] = newTcpTransport
10}
11
12func tcpFamily(keys string) (string, error) {
13switch getKey(keys, "family") {
14case "":
15return "tcp", nil
16case "ipv4":
17return "tcp4", nil
18case "ipv6":
19return "tcp6", nil
20default:
21return "", errors.New("dbus: invalid tcp family (must be ipv4 or ipv6)")
22}
23}
24
25func newTcpTransport(keys string) (transport, error) {
26host := getKey(keys, "host")
27port := getKey(keys, "port")
28if host == "" || port == "" {
29return nil, errors.New("dbus: unsupported address (must set host and port)")
30}
31
32protocol, err := tcpFamily(keys)
33if err != nil {
34return nil, err
35}
36socket, err := net.Dial(protocol, net.JoinHostPort(host, port))
37if err != nil {
38return nil, err
39}
40return NewConn(socket)
41}
42