mirror of
https://github.com/Kiritow/OpenComputerScripts.git
synced 2024-03-22 13:10:46 +08:00
Add Network draft. Format Vector
This commit is contained in:
parent
81d5a2a80e
commit
1d37ecf526
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
*.exe
|
||||
|
59
libnetwork.lua
Normal file
59
libnetwork.lua
Normal file
|
@ -0,0 +1,59 @@
|
|||
function socket() -- Allocate a new socket
|
||||
|
||||
end
|
||||
|
||||
function connect(sfd,remote_tag,port) -- Connect to a remote device
|
||||
|
||||
end
|
||||
|
||||
function bind(sfd,port) -- Bind socket at specific port
|
||||
|
||||
end
|
||||
|
||||
function listen(sfd,sz) -- Set size of queue for waiting connections
|
||||
|
||||
end
|
||||
|
||||
function accept(sfd) -- Accept Connection
|
||||
|
||||
end
|
||||
|
||||
function send(sfd,...) -- Standard Network I/O
|
||||
|
||||
end
|
||||
|
||||
function recv(sfd) -- Standard Network I/O
|
||||
|
||||
end
|
||||
|
||||
function shutdown(sfd) -- Close Socket
|
||||
|
||||
end
|
||||
|
||||
function close(sfd) -- Close Socket
|
||||
|
||||
end
|
||||
|
||||
function do_dhcp_client() -- Connect to DHCP Server and try to get a tag.
|
||||
|
||||
end
|
||||
|
||||
function do_arp_broadcast() -- ARP: Broadcast tag and uuid information of this device
|
||||
|
||||
end
|
||||
|
||||
function arp_listener() -- ARP: Listen to arp broadcast and record informations. Notice that this listener also replies to specific arp-request
|
||||
|
||||
end
|
||||
|
||||
function do_arp_query() -- ARP: Query uuid with tag, will send arp-request
|
||||
|
||||
end
|
||||
|
||||
function run_arp() -- Start ARP Services in background
|
||||
|
||||
end
|
||||
|
||||
function run_dhcp_client() -- Start DHCP Client in background
|
||||
|
||||
end
|
128
vector.lua
128
vector.lua
|
@ -1,93 +1,109 @@
|
|||
require("class")
|
||||
|
||||
Vector=class("Vector")
|
||||
Vector = class("Vector")
|
||||
|
||||
function Vector:_reset()
|
||||
self.sz=0
|
||||
self.bus={}
|
||||
self.sz = 0
|
||||
self.bus = {}
|
||||
end
|
||||
|
||||
function Vector:ctor(t)
|
||||
self:_reset()
|
||||
if((t ~= nil) and (type(t) == "table")) then
|
||||
for k,v in pairs(t) do
|
||||
local x={}
|
||||
x.first=k
|
||||
x.second=v
|
||||
self:push_back(x)
|
||||
end --for
|
||||
end --if
|
||||
self:_reset()
|
||||
if ((t ~= nil) and (type(t) == "table")) then
|
||||
for k, v in pairs(t) do
|
||||
local x = {}
|
||||
x.first = k
|
||||
x.second = v
|
||||
self:push_back(x)
|
||||
end --for
|
||||
end --if
|
||||
end --func
|
||||
|
||||
function Vector:empty()
|
||||
return self.sz==0
|
||||
return self.sz == 0
|
||||
end
|
||||
|
||||
function Vector:push_back(val)
|
||||
self.bus[self.sz]=val
|
||||
self.sz=self.sz+1
|
||||
self.bus[self.sz] = val
|
||||
self.sz = self.sz + 1
|
||||
end
|
||||
|
||||
function Vector:pop_back()
|
||||
if(self:empty()) then return nil
|
||||
else
|
||||
local val=self.bus[self.sz-1]
|
||||
self.bus[self.sz-1]=nil
|
||||
self.sz=self.sz-1
|
||||
return val
|
||||
end
|
||||
if (self:empty()) then
|
||||
return nil
|
||||
else
|
||||
local val = self.bus[self.sz - 1]
|
||||
self.bus[self.sz - 1] = nil
|
||||
self.sz = self.sz - 1
|
||||
return val
|
||||
end
|
||||
end
|
||||
|
||||
function Vector:front()
|
||||
if(self:empty()) then return nil
|
||||
else return self.bus[0]
|
||||
end
|
||||
if (self:empty()) then
|
||||
return nil
|
||||
else
|
||||
return self.bus[0]
|
||||
end
|
||||
end
|
||||
|
||||
function Vector:back()
|
||||
if(self:empty()) then return nil
|
||||
else return self.bus[self.sz-1]
|
||||
end
|
||||
if (self:empty()) then
|
||||
return nil
|
||||
else
|
||||
return self.bus[self.sz - 1]
|
||||
end
|
||||
end
|
||||
|
||||
function Vector:clear()
|
||||
self:_reset()
|
||||
self:_reset()
|
||||
end
|
||||
|
||||
function Vector:at(index)
|
||||
if(type(index) ~= "number") then return nil
|
||||
elseif(self:empty()) then return nil
|
||||
elseif(index<0) then return nil
|
||||
elseif(index>=self.sz) then return nil
|
||||
else return self.bus[index]
|
||||
end
|
||||
if (type(index) ~= "number") then
|
||||
return nil
|
||||
elseif (self:empty()) then
|
||||
return nil
|
||||
elseif (index < 0) then
|
||||
return nil
|
||||
elseif (index >= self.sz) then
|
||||
return nil
|
||||
else
|
||||
return self.bus[index]
|
||||
end
|
||||
end
|
||||
|
||||
function Vector:size()
|
||||
return self.sz
|
||||
return self.sz
|
||||
end
|
||||
|
||||
function Vector:insert_after(index,val)
|
||||
if(type(index) ~= "number") then return nil
|
||||
elseif(index>=self.sz) then return nil
|
||||
elseif(index<-1) then return nil
|
||||
else
|
||||
for i=self.sz-1,index+1,-1 do
|
||||
self.bus[i+1]=self.bus[i]
|
||||
end
|
||||
self.bus[index+1]=val
|
||||
self.sz=self.sz+1
|
||||
end
|
||||
function Vector:insert_after(index, val)
|
||||
if (type(index) ~= "number") then
|
||||
return nil
|
||||
elseif (index >= self.sz) then
|
||||
return nil
|
||||
elseif (index < -1) then
|
||||
return nil
|
||||
else
|
||||
for i = self.sz - 1, index + 1, -1 do
|
||||
self.bus[i + 1] = self.bus[i]
|
||||
end
|
||||
self.bus[index + 1] = val
|
||||
self.sz = self.sz + 1
|
||||
end
|
||||
end
|
||||
|
||||
function Vector:erase(index)
|
||||
if(type(index) ~= "number") then return nil
|
||||
elseif(index>=self.sz) then return nil
|
||||
elseif(index<0) then return nil
|
||||
else
|
||||
for i=index+1,self.sz-1,1 do
|
||||
self.bus[i-1]=self.bus[i]
|
||||
end
|
||||
self.sz=self.sz-1
|
||||
end
|
||||
if (type(index) ~= "number") then
|
||||
return nil
|
||||
elseif (index >= self.sz) then
|
||||
return nil
|
||||
elseif (index < 0) then
|
||||
return nil
|
||||
else
|
||||
for i = index + 1, self.sz - 1, 1 do
|
||||
self.bus[i - 1] = self.bus[i]
|
||||
end
|
||||
self.sz = self.sz - 1
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue
Block a user