connection statuses
This commit is contained in:
parent
d3860304af
commit
b2fe5f1b4e
|
|
@ -58,10 +58,15 @@ func main() {
|
|||
|
||||
switch cmd {
|
||||
case "read":
|
||||
if len(args) != 1 {
|
||||
fatalf("usage: ollie-9p read path")
|
||||
openMarker := false
|
||||
if len(args) == 2 && args[0] == "--open-marker" {
|
||||
openMarker = true
|
||||
args = args[1:]
|
||||
}
|
||||
cmdRead(args[0])
|
||||
if len(args) != 1 {
|
||||
fatalf("usage: ollie-9p read [--open-marker] path")
|
||||
}
|
||||
cmdRead(args[0], openMarker)
|
||||
case "write":
|
||||
if len(args) != 1 {
|
||||
fatalf("usage: ollie-9p write path")
|
||||
|
|
@ -164,13 +169,19 @@ func getuser() string {
|
|||
return "none"
|
||||
}
|
||||
|
||||
func cmdRead(path string) {
|
||||
func cmdRead(path string, openMarker bool) {
|
||||
fsys := dial()
|
||||
fid, err := fsys.Open(path, plan9.OREAD)
|
||||
if err != nil {
|
||||
fatalf("open %s: %v", path, err)
|
||||
}
|
||||
defer fid.Close()
|
||||
// This marker is emitted only after the remote 9P open succeeds. It lets
|
||||
// connection-aware GUI clients distinguish an opened operation from a
|
||||
// merely started local helper process.
|
||||
if openMarker {
|
||||
fmt.Fprintln(os.Stderr, "OLLIE_9P_OPEN")
|
||||
}
|
||||
if _, err := io.Copy(os.Stdout, fid); err != nil {
|
||||
fatalf("read %s: %v", path, err)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -110,6 +110,18 @@ func listAgents(ctx HandlerCtx) ([]FsNodeDecl, error) {
|
|||
}),
|
||||
),
|
||||
|
||||
// connection — agent execution environment connectivity. Opening this
|
||||
// file performs a lightweight RPC against the session tool server.
|
||||
Leaf("connection", 0444, Read(func(_ HandlerCtx) ([]byte, error) {
|
||||
if s.toolsConn == nil {
|
||||
return nil, fmt.Errorf("agent tool server unavailable")
|
||||
}
|
||||
if _, err := s.toolsConn.ListTools(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return []byte("connected\n"), nil
|
||||
})),
|
||||
|
||||
// state — current agent state
|
||||
Leaf("state", 0444, Read(func(_ HandlerCtx) ([]byte, error) {
|
||||
return []byte(a.State() + "\n"), nil
|
||||
|
|
|
|||
2
kde
2
kde
|
|
@ -1 +1 @@
|
|||
Subproject commit c983e2bb6af6769f9dd4b757bf449abbf2f2b066
|
||||
Subproject commit 6e7245dd993f7db2f3a0dd51fb77391f9fa72664
|
||||
Loading…
Reference in New Issue