Documentation ¶
Index ¶
- Constants
- Variables
- func Dial(address string) (net.Conn, error)
- type Conn
- func (c *Conn) Close() error
- func (c *Conn) Dial(address string) error
- func (c *Conn) ListDevices() ([]*DeviceAttachment, error)
- func (c *Conn) LocalAddr() net.Addr
- func (c *Conn) Read(b []byte) (int, error)
- func (c *Conn) ReadPairRecord(udid string) (*PairRecord, error)
- func (c *Conn) Recv(msg interface{}) error
- func (c *Conn) RemoteAddr() net.Addr
- func (c *Conn) Request(req, resp interface{}) error
- func (c *Conn) Send(msg interface{}) error
- func (c *Conn) SetDeadline(t time.Time) error
- func (c *Conn) SetReadDeadline(t time.Time) error
- func (c *Conn) SetWriteDeadline(t time.Time) error
- func (c *Conn) Write(b []byte) (int, error)
- type ConnectRequest
- type DeviceAttached
- type DeviceAttachment
- type DeviceDetached
- type Header
- type ListDevicesRequest
- type ListDevicesResponse
- type ListenRequest
- type PairRecord
- type ReadPairRecordRequest
- type ReadPairRecordResponse
- type RequestBase
- type Result
- type ResultResponse
- type ResultValue
Constants ¶
const HeaderSize = 16
Variables ¶
var (
ErrNotFound = errors.New("device not found")
)
Functions ¶
Types ¶
type Conn ¶
type Conn struct {
// contains filtered or unexported fields
}
func (*Conn) Close ¶
Close closes the connection. Any blocked Read or Write operations will be unblocked and return errors.
func (*Conn) ListDevices ¶
func (c *Conn) ListDevices() ([]*DeviceAttachment, error)
func (*Conn) Read ¶
Read reads data from the connection. Read can be made to time out and return an Error with Timeout() == true after a fixed time limit; see SetDeadline and SetReadDeadline.
func (*Conn) ReadPairRecord ¶
func (c *Conn) ReadPairRecord(udid string) (*PairRecord, error)
func (*Conn) RemoteAddr ¶
RemoteAddr returns the remote network address.
func (*Conn) SetDeadline ¶
SetDeadline sets the read and write deadlines associated with the connection. It is equivalent to calling both SetReadDeadline and SetWriteDeadline.
A deadline is an absolute time after which I/O operations fail with a timeout (see type Error) instead of blocking. The deadline applies to all future and pending I/O, not just the immediately following call to Read or Write. After a deadline has been exceeded, the connection can be refreshed by setting a deadline in the future.
An idle timeout can be implemented by repeatedly extending the deadline after successful Read or Write calls.
A zero value for t means I/O operations will not time out.
Note that if a TCP connection has keep-alive turned on, which is the default unless overridden by Dialer.KeepAlive or ListenConfig.KeepAlive, then a keep-alive failure may also return a timeout error. On Unix systems a keep-alive failure on I/O can be detected using errors.Is(err, syscall.ETIMEDOUT).
func (*Conn) SetReadDeadline ¶
SetReadDeadline sets the deadline for future Read calls and any currently-blocked Read call. A zero value for t means Read will not time out.
func (*Conn) SetWriteDeadline ¶
SetWriteDeadline sets the deadline for future Write calls and any currently-blocked Write call. Even if write times out, it may return n > 0, indicating that some of the data was successfully written. A zero value for t means Write will not time out.
type ConnectRequest ¶
type ConnectRequest struct { RequestBase ClientVersionString string `plist:"ClientVersionString,omitempty"` ProgName string `plist:"ProgName,omitempty"` DeviceID int `plist:"DeviceID"` PortNumber uint16 `plist:"PortNumber"` }
type DeviceAttached ¶
type DeviceAttached struct { RequestBase DeviceID int Properties *DeviceAttachment }
type DeviceAttachment ¶
type DeviceDetached ¶
type DeviceDetached struct { RequestBase DeviceID int }
type ListDevicesRequest ¶
type ListDevicesRequest struct {
RequestBase
}
type ListDevicesResponse ¶
type ListDevicesResponse struct {
DeviceList []*DeviceAttached
}
type ListenRequest ¶
type ListenRequest struct { RequestBase ClientVersionString string ProgName string }
type PairRecord ¶
type ReadPairRecordRequest ¶
type ReadPairRecordRequest struct { RequestBase PairRecordID string `plist:"PairRecordID"` PairRecordData []byte `plist:"PairRecordData,omitempty"` DeviceID int `plist:"DeviceID,omitempty"` }
type ReadPairRecordResponse ¶
type ReadPairRecordResponse struct {
PairRecordData []byte
}
type RequestBase ¶
type RequestBase struct {
MessageType string
}
type ResultResponse ¶
type ResultResponse struct {
Number ResultValue
}
type ResultValue ¶
type ResultValue int
const ( ResultValueOK ResultValue = iota ResultValueBadCommand ResultValueBadDevice ResultValueConnectionRefused ResultValueConnectionUnknown1 ResultValueConnectionUnknown2 ResultValueBadVersion )