add sendmsg function to esl
This commit is contained in:
parent
96ddc51faa
commit
2ae688a33b
|
@ -534,6 +534,39 @@ ESL_DECLARE(esl_status_t) esl_execute(esl_handle_t *handle, const char *app, con
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
ESL_DECLARE(esl_status_t) esl_sendmsg(esl_handle_t *handle, esl_event_t *event, const char *uuid)
|
||||||
|
{
|
||||||
|
char cmd_buf[128] = "sendmsg";
|
||||||
|
char send_buf[1292] = "";
|
||||||
|
char *txt;
|
||||||
|
|
||||||
|
if (!handle || !handle->connected || handle->sock == ESL_SOCK_INVALID) {
|
||||||
|
return ESL_FAIL;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (uuid) {
|
||||||
|
snprintf(cmd_buf, sizeof(cmd_buf), "sendmsg %s", uuid);
|
||||||
|
}
|
||||||
|
|
||||||
|
esl_event_serialize(event, &txt, ESL_FALSE);
|
||||||
|
esl_log(ESL_LOG_DEBUG, "SENDMSG\n%s\n", txt);
|
||||||
|
|
||||||
|
if (send(handle->sock, txt, strlen(txt), 0) <= 0) goto fail;
|
||||||
|
|
||||||
|
free(txt);
|
||||||
|
|
||||||
|
return esl_recv(handle);
|
||||||
|
|
||||||
|
fail:
|
||||||
|
|
||||||
|
handle->connected = 0;
|
||||||
|
|
||||||
|
free(txt);
|
||||||
|
|
||||||
|
return ESL_FAIL;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ESL_DECLARE(esl_status_t) esl_filter(esl_handle_t *handle, const char *header, const char *value)
|
ESL_DECLARE(esl_status_t) esl_filter(esl_handle_t *handle, const char *header, const char *value)
|
||||||
{
|
{
|
||||||
char send_buf[1024] = "";
|
char send_buf[1024] = "";
|
||||||
|
|
|
@ -205,6 +205,15 @@ ESLevent *ESLconnection::sendEvent(ESLevent *send_me)
|
||||||
return new ESLevent("server_disconnected");
|
return new ESLevent("server_disconnected");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int ESLconnection::sendMSG(ESLevent *send_me, const char *uuid)
|
||||||
|
{
|
||||||
|
if (esl_sendmsg(&handle, send_me->event, uuid) == ESL_SUCCESS) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
ESLevent *ESLconnection::recvEvent()
|
ESLevent *ESLconnection::recvEvent()
|
||||||
{
|
{
|
||||||
if (esl_recv_event(&handle, 1, NULL) == ESL_SUCCESS) {
|
if (esl_recv_event(&handle, 1, NULL) == ESL_SUCCESS) {
|
||||||
|
|
|
@ -397,6 +397,14 @@ ESL_DECLARE(esl_status_t) esl_execute(esl_handle_t *handle, const char *app, con
|
||||||
*/
|
*/
|
||||||
ESL_DECLARE(esl_status_t) esl_sendevent(esl_handle_t *handle, esl_event_t *event);
|
ESL_DECLARE(esl_status_t) esl_sendevent(esl_handle_t *handle, esl_event_t *event);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Send an event as a message to be parsed
|
||||||
|
\param handle Handle to which the event should be sent
|
||||||
|
\param event Event to be sent
|
||||||
|
\param uuid a specific uuid if not the default
|
||||||
|
*/
|
||||||
|
ESL_DECLARE(esl_status_t) esl_sendmsg(esl_handle_t *handle, esl_event_t *event, const char *uuid);
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\brief Connect a handle to a host/port with a specific password. This will also authenticate against the server
|
\brief Connect a handle to a host/port with a specific password. This will also authenticate against the server
|
||||||
\param handle Handle to connect
|
\param handle Handle to connect
|
||||||
|
|
|
@ -86,6 +86,7 @@ class ESLconnection {
|
||||||
ESLevent *api(const char *cmd, const char *arg = NULL);
|
ESLevent *api(const char *cmd, const char *arg = NULL);
|
||||||
ESLevent *bgapi(const char *cmd, const char *arg = NULL, const char *job_uuid = NULL);
|
ESLevent *bgapi(const char *cmd, const char *arg = NULL, const char *job_uuid = NULL);
|
||||||
ESLevent *sendEvent(ESLevent *send_me);
|
ESLevent *sendEvent(ESLevent *send_me);
|
||||||
|
int sendMSG(ESLevent *send_me, const char *uuid = NULL);
|
||||||
ESLevent *recvEvent();
|
ESLevent *recvEvent();
|
||||||
ESLevent *recvEventTimed(int ms);
|
ESLevent *recvEventTimed(int ms);
|
||||||
ESLevent *filter(const char *header, const char *value);
|
ESLevent *filter(const char *header, const char *value);
|
||||||
|
|
Loading…
Reference in New Issue