mirror of https://github.com/yandex/odyssey.git
machinarium: allow dynamic msg resize/write
This commit is contained in:
parent
f77d7ccf02
commit
1ab4cd9482
|
@ -130,6 +130,12 @@ machine_msg_get_data(machine_msg_t*);
|
|||
MACHINE_API int
|
||||
machine_msg_get_type(machine_msg_t*);
|
||||
|
||||
MACHINE_API int
|
||||
machine_msg_ensure(machine_msg_t*, int size);
|
||||
|
||||
MACHINE_API void
|
||||
machine_msg_write(machine_msg_t*, char *buf, int size);
|
||||
|
||||
/* channel */
|
||||
|
||||
MACHINE_API machine_channel_t*
|
||||
|
|
|
@ -47,3 +47,19 @@ machine_msg_get_type(machine_msg_t *obj)
|
|||
mm_msg_t *msg = mm_cast(mm_msg_t*, obj);
|
||||
return msg->type;
|
||||
}
|
||||
|
||||
MACHINE_API int
|
||||
machine_msg_ensure(machine_msg_t *obj, int size)
|
||||
{
|
||||
mm_msg_t *msg = mm_cast(mm_msg_t*, obj);
|
||||
return mm_buf_ensure(&msg->data, size);
|
||||
}
|
||||
|
||||
MACHINE_API void
|
||||
machine_msg_write(machine_msg_t *obj, char *buf, int size)
|
||||
{
|
||||
mm_msg_t *msg = mm_cast(mm_msg_t*, obj);
|
||||
int rc = mm_buf_add(&msg->data, buf, size);
|
||||
(void)rc;
|
||||
assert(rc == 0);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue