[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2] MI: Replace sequence number with ID
From: |
Mohammad-Reza Nabipoor |
Subject: |
[PATCH v2] MI: Replace sequence number with ID |
Date: |
Thu, 19 Aug 2021 13:27:39 +0430 |
Each message kind has its own independent ID. The (msg_kind, ID) pair
is unique among all messages.
2021-08-19 Mohammad-Reza Nabipoor <mnabipoor@gnu.org>
* poke/pk-mi-msg.h (pk_mi_seqnum): Replaced by `pk_mi_id`.
(pk_mi_id): New typedef.
(pk_mi_make_req): Add new arg (`id`).
(pk_mi_make_event): Likewise.
(pk_mi_make_resp): Likewise.
(pk_mi_msg_number): Replaced by `pk_mi_msg_id`.
(pk_mi_set_msg_number): Replaced by `pk_mi_set_msg_id`.
(pk_mi_msg_resp_req_number): Replaced by `pk_mi_msg_resp_req_id`.
(pk_mi_msg_id): New function declaration.
(pk_mi_make_resp_auto): Likewise.
(pk_mi_make_event_auto): Likewise.
(pk_mi_set_msg_id): Likewise.
(pk_mi_msg_resp_req_id): Likewise.
* poke/pk-mi-msg.def (INVREQ): s/reqnum/reqid/.
* poke/pk-mi-msg.c (PK_MI_MSG_RESP_REQ_NUMBER): Replaced by
`PK_MI_MSG_RESP_REQ_ID`.
(PK_MI_MSG_NUMBER): Replaced by `PK_MI_MSG_ID`.
(PK_MI_MSG_RESP_REQ_ID): New accessor macro.
(struct pk_mi_msg_resp): s/req_number/req_id/.
(struct pk_mi_msg): s/number/id/.
(next_seqnum): Replaced by `next_event_id`.
(next_resp_id): New global variable.
(next_event_id): Likewise.
(PK_MI_MSG_ID): Likewise.
(pk_mi_make_msg): Updated.
(pk_mi_make_resp): Likewise.
(pk_mi_make_event): Likewise.
(pk_mi_msg_number): Removed.
(pk_mi_set_msg_number): Likewise.
(pk_mi_msg_resp_req_number): Likewise.
(pk_mi_make_resp_auto): New function definition.
(pk_mi_make_event_auto): Likewise.
(pk_mi_msg_id): Likewise.
(pk_mi_set_msg_id): Likewise.
(pk_mi_msg_resp_req_id): Likewise.
* poke/pk-mi.c (pk_mi_send_invalid_msg): Updated.
(pk_mi_dispatch_msg): Likewise.
* poke/pk-mi-json.c (MI Messages): Updated.
(pk_mi_msg_to_json_object): Likewise.
(pk_mi_json_object_to_msg): Likewise.
* doc/poke.texi (The Machine-Interface): Updated.
---
Hi, Jose.
I changed the patch to use monotonically increasing ID.
Regards,
Mohammad-Reza
ChangeLog | 44 +++++++++++++++++++++++++++++++
doc/poke.texi | 6 +++--
poke/pk-mi-json.c | 42 +++++++++++++++---------------
poke/pk-mi-msg.c | 65 ++++++++++++++++++++++++++++------------------
poke/pk-mi-msg.def | 6 ++---
poke/pk-mi-msg.h | 39 +++++++++++++++++++---------
poke/pk-mi.c | 20 +++++++-------
7 files changed, 149 insertions(+), 73 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index aa41c1bd..abf23c2b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,47 @@
+2021-08-19 Mohammad-Reza Nabipoor <mnabipoor@gnu.org>
+
+ * poke/pk-mi-msg.h (pk_mi_seqnum): Replaced by `pk_mi_id`.
+ (pk_mi_id): New typedef.
+ (pk_mi_make_req): Add new arg (`id`).
+ (pk_mi_make_event): Likewise.
+ (pk_mi_make_resp): Likewise.
+ (pk_mi_msg_number): Replaced by `pk_mi_msg_id`.
+ (pk_mi_set_msg_number): Replaced by `pk_mi_set_msg_id`.
+ (pk_mi_msg_resp_req_number): Replaced by `pk_mi_msg_resp_req_id`.
+ (pk_mi_msg_id): New function declaration.
+ (pk_mi_make_resp_auto): Likewise.
+ (pk_mi_make_event_auto): Likewise.
+ (pk_mi_set_msg_id): Likewise.
+ (pk_mi_msg_resp_req_id): Likewise.
+ * poke/pk-mi-msg.def (INVREQ): s/reqnum/reqid/.
+ * poke/pk-mi-msg.c (PK_MI_MSG_RESP_REQ_NUMBER): Replaced by
+ `PK_MI_MSG_RESP_REQ_ID`.
+ (PK_MI_MSG_NUMBER): Replaced by `PK_MI_MSG_ID`.
+ (PK_MI_MSG_RESP_REQ_ID): New accessor macro.
+ (struct pk_mi_msg_resp): s/req_number/req_id/.
+ (struct pk_mi_msg): s/number/id/.
+ (next_seqnum): Replaced by `next_event_id`.
+ (next_resp_id): New global variable.
+ (next_event_id): Likewise.
+ (PK_MI_MSG_ID): Likewise.
+ (pk_mi_make_msg): Updated.
+ (pk_mi_make_resp): Likewise.
+ (pk_mi_make_event): Likewise.
+ (pk_mi_msg_number): Removed.
+ (pk_mi_set_msg_number): Likewise.
+ (pk_mi_msg_resp_req_number): Likewise.
+ (pk_mi_make_resp_auto): New function definition.
+ (pk_mi_make_event_auto): Likewise.
+ (pk_mi_msg_id): Likewise.
+ (pk_mi_set_msg_id): Likewise.
+ (pk_mi_msg_resp_req_id): Likewise.
+ * poke/pk-mi.c (pk_mi_send_invalid_msg): Updated.
+ (pk_mi_dispatch_msg): Likewise.
+ * poke/pk-mi-json.c (MI Messages): Updated.
+ (pk_mi_msg_to_json_object): Likewise.
+ (pk_mi_json_object_to_msg): Likewise.
+ * doc/poke.texi (The Machine-Interface): Updated.
+
2021-08-06 Mohammad-Reza Nabipoor <mnabipoor@gnu.org>
* poke/pk-mi-msg.c (pk_mi_make_resp): Prevents `errmsg` to be `NULL`.
diff --git a/doc/poke.texi b/doc/poke.texi
index 9acf133a..36f2aa93 100644
--- a/doc/poke.texi
+++ b/doc/poke.texi
@@ -13747,7 +13747,9 @@ the standard input and standard output:
@example
$ poke --mi
-^@@^@@^@@G@{"poke_mi":0,"type":2,"data":@{"type":0,"args":@{"version":"0.1-beta"@}@}@}
+^@@^@@^@@G@{"id":1,"type":2,"data":@{"type":0,"args":@{"mi_version":
+@{"type":"Integer","value":0,"size":32@},"version":@{"type":"String",
+"value":"1.3"@}@}@}@}
@end example
When using sockets, poke prints the number of the socket where it is
@@ -13786,7 +13788,7 @@ maximum length of a frame message payload is two
kilobytes.
@dfn{Requests} are initiated by the client. Once a request is sent,
it will trigger a response. The response is paired with the
-triggering request by the request's sequence number.
+triggering request by the request's ID.
@dfn{Responses} are initiated by poke, in response to a request
received from the client.
diff --git a/poke/pk-mi-json.c b/poke/pk-mi-json.c
index a66a65b0..8ffea7f0 100644
--- a/poke/pk-mi-json.c
+++ b/poke/pk-mi-json.c
@@ -132,7 +132,7 @@ jerror (int ok, char **out, const char *fmt, ...)
/* Message::
{
- "seq" : integer
+ "id" : uint64
"type" : MessageType
"data" : Request | Response | Event
}
@@ -150,7 +150,7 @@ jerror (int ok, char **out, const char *fmt, ...)
Response::
{
"type" : ResponseType
- "req_number" : uint32
+ "req_id" : uint64
"success_p: : boolean
"errmsg" : string
"result"? : null
@@ -1111,14 +1111,14 @@ pk_mi_msg_to_json_object (pk_mi_msg msg)
if (!json)
goto out_of_memory;
- /* Add the number. */
+ /* Add the id. */
{
json_object *number
- = json_object_new_int (pk_mi_msg_number (msg));
+ = json_object_new_int (pk_mi_msg_id (msg));
if (!number)
goto out_of_memory;
- json_object_object_add (json, "seq", number);
+ json_object_object_add (json, "id", number);
}
/* Add the type. */
@@ -1157,7 +1157,7 @@ pk_mi_msg_to_json_object (pk_mi_msg msg)
case PK_MI_MSG_RESPONSE:
{
enum pk_mi_resp_type msg_resp_type = pk_mi_msg_resp_type (msg);
- json_object *resp, *resp_type, *success_p, *req_number, *args;
+ json_object *resp, *resp_type, *success_p, *req_id, *args;
resp = json_object_new_object ();
if (!resp)
@@ -1174,9 +1174,8 @@ pk_mi_msg_to_json_object (pk_mi_msg msg)
goto out_of_memory;
json_object_object_add (resp, "success_p", success_p);
- req_number
- = json_object_new_int (pk_mi_msg_resp_req_number (msg));
- json_object_object_add (resp, "req_number", req_number);
+ req_id = json_object_new_int (pk_mi_msg_resp_req_id (msg));
+ json_object_object_add (resp, "req_id", req_id);
if (pk_mi_msg_resp_errmsg (msg))
{
@@ -1231,7 +1230,7 @@ static pk_mi_msg
pk_mi_json_object_to_msg (json_object *json, char** errmsg)
{
enum pk_mi_msg_kind msg_kind;
- int msg_number;
+ int msg_id;
json_object *obj, *msg_json, *args_json;
pk_mi_msg msg = NULL;
@@ -1239,13 +1238,13 @@ pk_mi_json_object_to_msg (json_object *json, char**
errmsg)
GOTO_ON_JERR (
J_NOK, failed, errmsg,"invalid message: expects JSON object");
- /* Get the message number. */
+ /* Get the message ID. */
{
json_object *number;
- GOTO_ON_JERR (jexpect (json, "seq", json_type_int, &number, errmsg),
+ GOTO_ON_JERR (jexpect (json, "id", json_type_int, &number, errmsg),
failed, errmsg, "invalid message");
- msg_number = json_object_get_int (number);
+ msg_id = json_object_get_int (number);
}
/* Get the message type. */
@@ -1271,14 +1270,14 @@ pk_mi_json_object_to_msg (json_object *json, char**
errmsg)
msg_req_type = json_object_get_int (req_type);
/* Create the message. */
- msg = pk_mi_make_req (msg_req_type);
+ msg = pk_mi_make_req (msg_req_type, msg_id);
break;
}
case PK_MI_MSG_RESPONSE:
{
json_object *obj;
enum pk_mi_resp_type resp_type;
- pk_mi_seqnum req_number;
+ pk_mi_id req_id;
int success_p;
const char *emsg;
@@ -1287,11 +1286,11 @@ pk_mi_json_object_to_msg (json_object *json, char**
errmsg)
failed, errmsg, "invalid response message");
resp_type = json_object_get_int (obj);
- /* Get the request number. */
+ /* Get the corresponding request ID. */
GOTO_ON_JERR (
- jexpect (msg_json, "req_number", json_type_int, &obj, errmsg),
+ jexpect (msg_json, "req_id", json_type_int, &obj, errmsg),
failed, errmsg, "invalid response message");
- req_number = json_object_get_int (obj);
+ req_id = json_object_get_int (obj);
/* Get success_p. */
GOTO_ON_JERR (
@@ -1312,7 +1311,8 @@ pk_mi_json_object_to_msg (json_object *json, char**
errmsg)
/* Create the message. */
msg = pk_mi_make_resp (resp_type,
- req_number,
+ msg_id,
+ req_id,
success_p,
emsg);
break;
@@ -1328,7 +1328,7 @@ pk_mi_json_object_to_msg (json_object *json, char**
errmsg)
event_type = json_object_get_int (obj);
/* Create the message. */
- msg = pk_mi_make_event (event_type);
+ msg = pk_mi_make_event (event_type, msg_id);
break;
}
default:
@@ -1346,7 +1346,7 @@ pk_mi_json_object_to_msg (json_object *json, char**
errmsg)
}
done:
- pk_mi_set_msg_number (msg, msg_number);
+ pk_mi_set_msg_id (msg, msg_id);
return msg;
failed:
diff --git a/poke/pk-mi-msg.c b/poke/pk-mi-msg.c
index c8ee2ab6..7b1c33a8 100644
--- a/poke/pk-mi-msg.c
+++ b/poke/pk-mi-msg.c
@@ -83,8 +83,7 @@ struct pk_mi_msg_req
/* Responses are initiated by poke, in response to a request received
from the client.
- REQ_NUMBER is the sequence number of the request for which this is
- a response.
+ REQ_ID is the ID of the request for which this is a response.
SUCCESS_P is the outcome of the request. A value of 0 means the
request wasn't successful. A value other than 0 means the request
@@ -99,14 +98,14 @@ struct pk_mi_msg_req
below. */
#define PK_MI_MSG_RESP_TYPE(MSG) ((MSG)->data.resp.type)
-#define PK_MI_MSG_RESP_REQ_NUMBER(MSG) ((MSG)->data.resp.req_number)
+#define PK_MI_MSG_RESP_REQ_ID(MSG) ((MSG)->data.resp.req_id)
#define PK_MI_MSG_RESP_SUCCESS_P(MSG) ((MSG)->data.resp.success_p)
#define PK_MI_MSG_RESP_ERRMSG(MSG) ((MSG)->data.resp.errmsg)
struct pk_mi_msg_resp
{
enum pk_mi_resp_type type;
- pk_mi_seqnum req_number;
+ pk_mi_id req_id;
int success_p;
char *errmsg;
};
@@ -128,14 +127,14 @@ struct pk_mi_msg_event
/* The message itself. */
-#define PK_MI_MSG_NUMBER(MSG) ((MSG)->number)
+#define PK_MI_MSG_ID(MSG) ((MSG)->id)
#define PK_MI_MSG_KIND(MSG) ((MSG)->kind)
#define PK_MI_MSG_NUM_ARGS(MSG) ((MSG)->num_args)
#define PK_MI_MSG_ARGS(MSG) ((MSG)->args)
struct pk_mi_msg
{
- pk_mi_seqnum number;
+ pk_mi_id id;
enum pk_mi_msg_kind kind;
union
@@ -153,16 +152,17 @@ typedef struct pk_mi_msg *pk_mi_msg;
/*** Variables and code ***/
-/* Global with the next available message sequence number. */
-static pk_mi_seqnum next_seqnum;
+/* Global with the next available event message ID. */
+static pk_mi_id next_resp_id = 1;
+static pk_mi_id next_event_id = 1;
static pk_mi_msg
-pk_mi_make_msg (enum pk_mi_msg_kind kind)
+pk_mi_make_msg (enum pk_mi_msg_kind kind, pk_mi_id id)
{
pk_mi_msg msg = xmalloc (sizeof (struct pk_mi_msg));
- PK_MI_MSG_NUMBER (msg) = next_seqnum++;
+ PK_MI_MSG_ID (msg) = id;
PK_MI_MSG_KIND (msg) = kind;
PK_MI_MSG_ARGS (msg) = NULL;
@@ -190,9 +190,9 @@ pk_mi_allocate_msg_args (pk_mi_msg msg,
}
pk_mi_msg
-pk_mi_make_req (enum pk_mi_req_type type)
+pk_mi_make_req (enum pk_mi_req_type type, pk_mi_id id)
{
- pk_mi_msg msg = pk_mi_make_msg (PK_MI_MSG_REQUEST);
+ pk_mi_msg msg = pk_mi_make_msg (PK_MI_MSG_REQUEST, id);
PK_MI_MSG_REQ_TYPE (msg) = type;
pk_mi_allocate_msg_args (msg, req_arginfo, type);
@@ -202,17 +202,18 @@ pk_mi_make_req (enum pk_mi_req_type type)
pk_mi_msg
pk_mi_make_resp (enum pk_mi_resp_type type,
- pk_mi_seqnum req_seqnum,
+ pk_mi_id id,
+ pk_mi_id req_id,
int success_p,
const char *errmsg)
{
- pk_mi_msg msg = pk_mi_make_msg (PK_MI_MSG_RESPONSE);
+ pk_mi_msg msg = pk_mi_make_msg (PK_MI_MSG_RESPONSE, id);
if (errmsg == NULL)
errmsg = "";
PK_MI_MSG_RESP_TYPE (msg) = type;
- PK_MI_MSG_RESP_REQ_NUMBER (msg) = req_seqnum;
+ PK_MI_MSG_RESP_REQ_ID (msg) = req_id;
PK_MI_MSG_RESP_SUCCESS_P (msg) = success_p;
PK_MI_MSG_RESP_ERRMSG (msg) = xstrdup (errmsg);
pk_mi_allocate_msg_args (msg, resp_arginfo, type);
@@ -221,9 +222,18 @@ pk_mi_make_resp (enum pk_mi_resp_type type,
}
pk_mi_msg
-pk_mi_make_event (enum pk_mi_event_type type)
+pk_mi_make_resp_auto (enum pk_mi_resp_type type,
+ pk_mi_id req_id,
+ int success_p,
+ const char *errmsg)
{
- pk_mi_msg msg = pk_mi_make_msg (PK_MI_MSG_EVENT);
+ return pk_mi_make_resp (type, next_resp_id++, req_id, success_p, errmsg);
+}
+
+pk_mi_msg
+pk_mi_make_event (enum pk_mi_event_type type, pk_mi_id id)
+{
+ pk_mi_msg msg = pk_mi_make_msg (PK_MI_MSG_EVENT, id);
PK_MI_MSG_EVENT_TYPE (msg) = type;
pk_mi_allocate_msg_args (msg, event_arginfo, type);
@@ -231,6 +241,11 @@ pk_mi_make_event (enum pk_mi_event_type type)
return msg;
}
+pk_mi_msg
+pk_mi_make_event_auto (enum pk_mi_event_type type)
+{
+ return pk_mi_make_event (type, next_event_id++);
+}
void
pk_mi_msg_free (pk_mi_msg msg)
@@ -324,16 +339,16 @@ pk_mi_msg_kind (pk_mi_msg msg)
return PK_MI_MSG_KIND (msg);
}
-pk_mi_seqnum
-pk_mi_msg_number (pk_mi_msg msg)
+pk_mi_id
+pk_mi_msg_id (pk_mi_msg msg)
{
- return PK_MI_MSG_NUMBER (msg);
+ return PK_MI_MSG_ID (msg);
}
void
-pk_mi_set_msg_number (pk_mi_msg msg, pk_mi_seqnum number)
+pk_mi_set_msg_id (pk_mi_msg msg, pk_mi_id id)
{
- PK_MI_MSG_NUMBER (msg) = number;
+ PK_MI_MSG_ID (msg) = id;
}
enum pk_mi_req_type
@@ -354,10 +369,10 @@ pk_mi_msg_event_type (pk_mi_msg msg)
return PK_MI_MSG_EVENT_TYPE (msg);
}
-pk_mi_seqnum
-pk_mi_msg_resp_req_number (pk_mi_msg msg)
+pk_mi_id
+pk_mi_msg_resp_req_id (pk_mi_msg msg)
{
- return PK_MI_MSG_RESP_REQ_NUMBER (msg);
+ return PK_MI_MSG_RESP_REQ_ID (msg);
}
int
diff --git a/poke/pk-mi-msg.def b/poke/pk-mi-msg.def
index 42e5ab7b..391f7d5f 100644
--- a/poke/pk-mi-msg.def
+++ b/poke/pk-mi-msg.def
@@ -106,14 +106,14 @@ PK_DEF_RESP (PRINTV, PK_DEF_ARGS (PK_DEF_ARG (string,
PK_STRING)))
Arguments:
- reqnum (uint)
- Sequence number of the invalid request.
+ reqid (uint)
+ ID of the invalid request.
errmsg (string)
Invalidity reason.
*/
PK_DEF_EVENT (INVREQ,
- PK_DEF_ARGS (PK_DEF_ARG (reqnum, PK_UINT),
+ PK_DEF_ARGS (PK_DEF_ARG (reqid, PK_UINT),
PK_DEF_ARG (errmsg, PK_STRING)))
/* Cleanup. */
diff --git a/poke/pk-mi-msg.h b/poke/pk-mi-msg.h
index e2d90831..5f146af9 100644
--- a/poke/pk-mi-msg.h
+++ b/poke/pk-mi-msg.h
@@ -24,10 +24,13 @@
#include <libpoke.h> /* For pk_val */
-/* Each MI message contains a "sequence number". The protocol uses
- this number to univocally identify certain messages. */
+/* Each MI message contains an "id". Every message kind has its own
+ independent ID. ID "0" is a special case.
-typedef uint32_t pk_mi_seqnum;
+ The protocol uses this number to univocally identify certain
+ messages. */
+
+typedef uint64_t pk_mi_id;
/* MI messages are of three kinds: requests, responses and events.
@@ -68,12 +71,13 @@ typedef struct pk_mi_msg *pk_mi_msg;
/* Build a new request message.
Return NULL in case there is an error. */
-pk_mi_msg pk_mi_make_req (enum pk_mi_req_type type);
+pk_mi_msg pk_mi_make_req (enum pk_mi_req_type type, pk_mi_id id);
/* Build a new response message.
- REQ_SEQNUM is the sequence number of the request that is answered
- by this response.
+ ID is the ID of the new response.
+
+ REQ_ID is the ID of the request that is answered by this response.
SUCCESS_P should be 0 if the requested operation couldn't be
performed for whatever reason.
@@ -85,14 +89,25 @@ pk_mi_msg pk_mi_make_req (enum pk_mi_req_type type);
Return NULL in case there is an error. */
pk_mi_msg pk_mi_make_resp (enum pk_mi_resp_type type,
- pk_mi_seqnum req_seqnum,
+ pk_mi_id id,
+ pk_mi_id req_id,
int success_p,
const char *errmsg);
+/* Build a new response message with an auto-assigned ID.
+
+ Other parameters are the same as PK_MI_MAKE_RESP function. */
+
+pk_mi_msg pk_mi_make_resp_auto (enum pk_mi_resp_type type,
+ pk_mi_id req_id,
+ int success_p,
+ const char *errmsg);
+
/* Build a new event message.
Return NULL in case there is an error. */
-pk_mi_msg pk_mi_make_event (enum pk_mi_event_type type);
+pk_mi_msg pk_mi_make_event (enum pk_mi_event_type type, pk_mi_id id);
+pk_mi_msg pk_mi_make_event_auto (enum pk_mi_event_type type);
/*** Getting and setting message attributes. */
@@ -100,10 +115,10 @@ pk_mi_msg pk_mi_make_event (enum pk_mi_event_type type);
enum pk_mi_msg_kind pk_mi_msg_kind (pk_mi_msg msg);
-/* Get and set the sequence number of a given message. */
+/* Get and set the ID of a given message. */
-pk_mi_seqnum pk_mi_msg_number (pk_mi_msg msg);
-void pk_mi_set_msg_number (pk_mi_msg msg, pk_mi_seqnum number);
+pk_mi_id pk_mi_msg_id (pk_mi_msg msg);
+void pk_mi_set_msg_id (pk_mi_msg msg, pk_mi_id id);
/* Get the type of a given message. Note that the given message
should be of the right kind, and this is not checked at
@@ -115,7 +130,7 @@ enum pk_mi_event_type pk_mi_msg_event_type (pk_mi_msg msg);
/* Get attributes of response messages. */
-pk_mi_seqnum pk_mi_msg_resp_req_number (pk_mi_msg msg);
+pk_mi_id pk_mi_msg_resp_req_id (pk_mi_msg msg);
int pk_mi_msg_resp_success_p (pk_mi_msg msg);
const char *pk_mi_msg_resp_errmsg (pk_mi_msg msg);
diff --git a/poke/pk-mi.c b/poke/pk-mi.c
index 39661ae4..30a61da1 100644
--- a/poke/pk-mi.c
+++ b/poke/pk-mi.c
@@ -273,13 +273,13 @@ pk_mi_send (pk_mi_msg msg)
static void
pk_mi_send_invalid_msg (pk_mi_msg msg, const char* errmsg)
{
- pk_mi_seqnum seq = msg ? pk_mi_msg_number (msg) : -1;
- pk_mi_msg invreq_msg = pk_mi_make_event (PK_MI_EVENT_INVREQ);
+ pk_mi_id id = msg ? pk_mi_msg_id (msg) : 0;
+ pk_mi_msg invreq_msg = pk_mi_make_event_auto (PK_MI_EVENT_INVREQ);
if (errmsg == NULL)
errmsg = "";
- pk_mi_set_arg (invreq_msg, "reqnum", pk_make_uint (seq, 64));
+ pk_mi_set_arg (invreq_msg, "reqid", pk_make_uint (id, 64));
pk_mi_set_arg (invreq_msg, "errmsg", pk_make_string (errmsg));
pk_mi_send (invreq_msg);
pk_mi_msg_free (invreq_msg);
@@ -301,10 +301,10 @@ pk_mi_dispatch_msg (pk_mi_msg msg)
case PK_MI_REQ_EXIT:
{
pk_mi_msg resp
- = pk_mi_make_resp (PK_MI_RESP_EXIT,
- pk_mi_msg_number (msg),
- 1 /* success_p */,
- NULL /* errmsg */);
+ = pk_mi_make_resp_auto (PK_MI_RESP_EXIT,
+ pk_mi_msg_id (msg),
+ 1 /* success_p */,
+ NULL /* errmsg */);
pk_mi_send (resp);
pk_mi_msg_free (resp);
pk_mi_exit_p = 1;
@@ -326,8 +326,8 @@ pk_mi_dispatch_msg (pk_mi_msg msg)
NULL, &val);
assert (ok == PK_OK);
- resp = pk_mi_make_resp (PK_MI_RESP_PRINTV, pk_mi_msg_number (msg),
- 1 /* success_p */, NULL /* errmsg */);
+ resp = pk_mi_make_resp_auto (PK_MI_RESP_PRINTV, pk_mi_msg_id (msg),
+ 1 /* success_p */, NULL /* errmsg */);
pk_mi_set_arg (resp, "string", val);
pk_mi_send (resp);
pk_mi_msg_free (resp);
@@ -355,7 +355,7 @@ pk_mi (void)
{
pk_mi_msg initialized_msg;
- initialized_msg = pk_mi_make_event (PK_MI_EVENT_INITIALIZED);
+ initialized_msg = pk_mi_make_event_auto (PK_MI_EVENT_INITIALIZED);
pk_mi_set_arg (initialized_msg, "mi_version", pk_make_int (MI_VERSION, 32));
pk_mi_set_arg (initialized_msg, "version", pk_make_string (VERSION));
--
2.32.0