[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GSOC] A machine-interface for poke
From: |
Jose E. Marchesi |
Subject: |
[GSOC] A machine-interface for poke |
Date: |
Sat, 29 Feb 2020 15:40:18 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) |
Hi Konstantinos.
As we discussed in IRC, GNU poke needs a machine interface so it can
interact with other programs (GUIs, testers, etc) in an efficient way:
+---------+ +---------+
| GUI | <----- MI -----> | poke |
+---------+ +---------+
It would be supernice to get this done as part of the GSOC, and I would
be very happy to mentor you.
These are some initial thoughts about requirements:
- The MI protocol shall be based on JSON (because the kids of today...),
and a good inspiration is
https://microsoft.github.io/debug-adapter-protocol/specification
- The MI should be at least as powerful as the normal command-line
interface. This means that everything that is doable in the command
line shall be doable using the MI.
- The MI shall be suitable to transmit large amounts of data in an
efficient way. Think for example on a GUI that wants to show a
scrollable dump of some IO space.
- poke shall provide both efficient local transports (such as pipes) and
network-capable ones (such as tcp sockets.) but the MI interface shall
be independent on how it is transported.
- The MI shall provide services to execute arbitrary Poke code.
- The MI shall provide Poke values encoded in JSON. For example, a Poke
array will most likely be encoded in the MI as a JSON array, but it
may also include its printed representation (or the later may be
provided by another service/request.)
- A testsuite shall be provided.
- The protocol shall be throughfully documented in the manual.
... more?
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GSOC] A machine-interface for poke,
Jose E. Marchesi <=