summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2010-12-18 22:46:58 +0000
committerChristian Pointner <equinox@spreadspace.org>2010-12-18 22:46:58 +0000
commita5d9c3339ab2e12d66ce71c8d33d749baaf45eaf (patch)
tree92685999aec38b4f5d18e6fe8d9370d8b7b4acca
parentcommand 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/Makefile2
-rw-r--r--src/command_table.lua (renamed from src/dispatch_table.lua)10
-rw-r--r--src/main_loop.lua2
-rw-r--r--src/modules/exec.lua4
-rw-r--r--src/modules/stdio.lua4
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