poke-devel
[Top][All Lists]
Advanced

[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?



reply via email to

[Prev in Thread] Current Thread [Next in Thread]