diff options
Diffstat (limited to 'src/core.c')
-rw-r--r-- | src/core.c | 30 |
1 files changed, 1 insertions, 29 deletions
@@ -15,7 +15,6 @@ #include "wol.h" #include "client.h" #include "json.h" -#include "schedule.h" #include <syslog.h> #include <sys/ioctl.h> #include <ifaddrs.h> @@ -207,30 +206,6 @@ static void og_agent_reset_state(struct og_client *cli) #define OG_AGENT_CMD_TIMEOUT 900 -static void og_agent_deliver_pending_cmd(struct og_client *cli) -{ - struct timeval now, elapsed; - const struct og_cmd *cmd; - - cmd = og_cmd_find(inet_ntoa(cli->addr.sin_addr)); - if (!cmd) - return; - - gettimeofday(&now, NULL); - timersub(&now, &cmd->tv, &elapsed); - if (elapsed.tv_sec >= OG_AGENT_CMD_TIMEOUT) { - og_dbi_update_action(cmd->id, false); - og_cmd_free(cmd); - return; - } - - json_incref(cmd->json); - og_send_request(cmd->method, cmd->type, &cmd->params, cmd->json); - cli->last_cmd_id = cmd->id; - - og_cmd_free(cmd); -} - static void og_agent_read_cb(struct ev_loop *loop, struct ev_io *io, int events) { struct og_client *cli; @@ -270,11 +245,8 @@ static void og_agent_read_cb(struct ev_loop *loop, struct ev_io *io, int events) /* fall through. */ case OG_AGENT_PROCESSING_RESPONSE: ret = og_agent_state_process_response(cli); - if (ret < 0) { + if (ret < 0) goto close; - } else if (ret == 0) { - og_agent_deliver_pending_cmd(cli); - } og_agent_reset_state(cli); break; |