diff options
author | Christian Pointner <equinox@spreadspace.org> | 2010-12-18 22:46:58 +0000 |
---|---|---|
committer | Christian Pointner <equinox@spreadspace.org> | 2010-12-18 22:46:58 +0000 |
commit | a5d9c3339ab2e12d66ce71c8d33d749baaf45eaf (patch) | |
tree | 92685999aec38b4f5d18e6fe8d9370d8b7b4acca | |
parent | command timeout works now (diff) |
moved dispatch table to command_table
git-svn-id: https://svn.spreadspace.org/gcsd/trunk@67 ac14a137-c7f1-4531-abe0-07747231d213
-rw-r--r-- | src/Makefile | 2 | ||||
-rw-r--r-- | src/command_table.lua (renamed from src/dispatch_table.lua) | 10 | ||||
-rw-r--r-- | src/main_loop.lua | 2 | ||||
-rw-r--r-- | src/modules/exec.lua | 4 | ||||
-rw-r--r-- | src/modules/stdio.lua | 4 |
5 files changed, 11 insertions, 11 deletions
diff --git a/src/Makefile b/src/Makefile index 9f73187..8201b72 100644 --- a/src/Makefile +++ b/src/Makefile @@ -57,7 +57,7 @@ C_SRCS := $(C_OBJS:%.o=%.c) LUA_SRCS := client_list.lua \ module_list.lua \ command_queue.lua \ - dispatch_table.lua \ + command_table.lua \ main_loop.lua LUA_BYTECODE := $(EXECUTABLE).lc diff --git a/src/dispatch_table.lua b/src/command_table.lua index 1b74624..f663df3 100644 --- a/src/dispatch_table.lua +++ b/src/command_table.lua @@ -30,15 +30,15 @@ -- along with gcsd. If not, see <http://www.gnu.org/licenses/>. -- -dispatch_table = {} -dispatch_table.regex_to_handler = { +command_table = {} +command_table.regex_to_handler = { ["%w+%s*\n"] = function(match) command_queue:enqueue(string.match(match , "(%w+)%s*")) end, [".*\n"] = function(match) end } -function dispatch_table:load_handler_table_file(filename) +function command_table:load_handler_table_file(filename) local defines = require('defines') if (type(filename) ~= "nil") then if (type(filename) ~= "string") then @@ -56,14 +56,14 @@ function dispatch_table:load_handler_table_file(filename) return defines.OK end -function dispatch_table:register_handler_table(handler_table) +function command_table:register_handler_table(handler_table) if (type(handler_table) ~= "table") then error("handler_table must be of type 'table'") end self.regex_to_handler = handler_table end -function dispatch_table:dispatch(command_buffer) +function command_table:dispatch(command_buffer) local init = 1 repeat local had_match = false diff --git a/src/main_loop.lua b/src/main_loop.lua index 28bd1af..b512dd2 100644 --- a/src/main_loop.lua +++ b/src/main_loop.lua @@ -74,7 +74,7 @@ function main_loop(opt) log.printf(log.NOTICE, "main_loop started") local sig = signal.init() - local return_value = dispatch_table:load_handler_table_file(opt.lua_code) + local return_value = command_table:load_handler_table_file(opt.lua_code) if (return_value == defines.KILL_DAEMON) then return_value = -1 else diff --git a/src/modules/exec.lua b/src/modules/exec.lua index 61eb34c..9ec082a 100644 --- a/src/modules/exec.lua +++ b/src/modules/exec.lua @@ -86,7 +86,7 @@ function exec:new(config, runtype) self.in_buffer = self.in_buffer .. buffer if(inst.config.runtype == defines.IN_MODULE) then - self.in_buffer = dispatch_table:dispatch(self.in_buffer) + self.in_buffer = command_table:dispatch(self.in_buffer) else -- TODO: part of expected response handling command_queue:command_completed() @@ -111,7 +111,7 @@ function exec:new(config, runtype) else self.out_buffer = string.sub(self.out_buffer, len+1) end - if(self.out_buffer == "") then + if(inst.config.runtype == defines.OUT_MODULE and self.out_buffer == "") then command_queue:command_sent() end return defines.OK diff --git a/src/modules/stdio.lua b/src/modules/stdio.lua index 597386b..943b6c5 100644 --- a/src/modules/stdio.lua +++ b/src/modules/stdio.lua @@ -64,7 +64,7 @@ function stdio:new(config, runtype) self.in_buffer = self.in_buffer .. buffer if(inst.config.runtype == defines.IN_MODULE) then - self.in_buffer = dispatch_table:dispatch(self.in_buffer) + self.in_buffer = command_table:dispatch(self.in_buffer) else -- TODO: part of expected response handling command_queue:command_completed() @@ -89,7 +89,7 @@ function stdio:new(config, runtype) else self.out_buffer = string.sub(self.out_buffer, len+1) end - if(self.out_buffer == "") then + if(inst.config.runtype == defines.OUT_MODULE and self.out_buffer == "") then command_queue:command_sent() end return defines.OK |