daemon_client.go 470 Bytes
Newer Older
1 2 3 4
package daemon

import (
	"encoding/json"
5
	"io"
6
	"net"
7
	"os"
Siraj Ravel's avatar
Siraj Ravel committed
8
	"time"
9 10
)

Siraj Ravel's avatar
Siraj Ravel committed
11
//SendCommand connects to the address on the network with a timeout and encodes the connection into JSON
Siraj Ravel's avatar
Siraj Ravel committed
12
func SendCommand(command *Command, server string) error {
Siraj Ravel's avatar
Siraj Ravel committed
13

Siraj Ravel's avatar
Siraj Ravel committed
14
	conn, err := net.DialTimeout("tcp", server, time.Millisecond*300)
Siraj Ravel's avatar
Siraj Ravel committed
15

16
	if err != nil {
17
		return err
18 19
	}

Siraj Ravel's avatar
Siraj Ravel committed
20 21
	enc := json.NewEncoder(conn)
	err = enc.Encode(command)
22
	if err != nil {
23
		return err
24 25
	}

Siraj Ravel's avatar
Siraj Ravel committed
26
	io.Copy(os.Stdout, conn)
27

28
	return nil
29
}