func listDirEntries(conn *wire.SyncConn, path string) (entries *DirEntries, err error) { if err = conn.SendOctetString("LIST"); err != nil { return } if err = conn.SendString(path); err != nil { return } return &DirEntries{scanner: conn}, nil }
func receiveFile(conn *wire.SyncConn, path string) (io.ReadCloser, error) { if err := conn.SendOctetString("RECV"); err != nil { return nil, err } if err := conn.SendString(path); err != nil { return nil, err } return newSyncFileReader(conn), nil }
func stat(conn *wire.SyncConn, path string) (*DirEntry, error) { if err := conn.SendOctetString("STAT"); err != nil { return nil, err } if err := conn.SendString(path); err != nil { return nil, err } id, err := conn.ReadOctetString() if err != nil { return nil, err } if id != "STAT" { return nil, util.Errorf(util.AssertionError, "expected stat ID 'STAT', but got '%s'", id) } return readStat(conn) }