ec_message_get_body_io_object

March 26, 2020 Contributors

Name

ec_message_get_body_io_object — Requests an io_object from the IO layer

Synopsis

#include "ec_message.h"

| io_object * **ec_message_get_body_io_object** ( | mess); |   |

ec_message * <var class="pdparam">mess</var>;

Description

Requests an io_object from the IO layer.

Note

You should call ec_message_get_body_io_object when you have finished consuming the io object to release its resources.

Note

During validation, this will fabricate an IO object that pulls the content of the message in its current state. If the message is modified while such an object is open, then the results are undefined.

Parameters

mess

The message. A pointer to an ec_message struct. For documentation of this data structure see “ec_message”

Return Values

This returns the address of an io_object. It MAY return NULL.

Threading

It is legal to call this function in any thread but should not be called in the Scheduler thread.

Note

This function may induce IO blocking or otherwise block the caller. Blocking in the scheduler thread will lead to degraded performance and should be avoided at all costs. If your code is running in the IO subsystem, the core will have already taken steps to ensure that blocking is acceptable. Otherwise, you should look at using the thread pool API to run a job in the IO pool.

See Also

ec_message_get_body_io_object.