added the net-ext library. pretty bare-bones atm but it'll be useful later. note to self: write documentation.
This commit is contained in:
parent
581edc74a1
commit
07a9a3db3b
@ -11,6 +11,7 @@ modules/drivers/net.lua
|
|||||||
modules/lib/readline.lua
|
modules/lib/readline.lua
|
||||||
modules/lib/shutil.lua
|
modules/lib/shutil.lua
|
||||||
modules/lib/sha256.lua
|
modules/lib/sha256.lua
|
||||||
|
modules/net/net-ext.lua
|
||||||
modules/applications/luash.lua
|
modules/applications/luash.lua
|
||||||
modules/applications/genkernel.lua
|
modules/applications/genkernel.lua
|
||||||
modules/applications/skex2.lua
|
modules/applications/skex2.lua
|
||||||
|
23
modules/net/net-ext.lua
Normal file
23
modules/net/net-ext.lua
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
net.mtu = 256
|
||||||
|
function net.sendstring(addr,port,msg) -- for sending lots of data
|
||||||
|
net.send(addr,port,math.ceil(msg:len()/net.mtu))
|
||||||
|
for i = 1, #msg, net.mtu do
|
||||||
|
net.send(addr,port,msg:sub(i,(i+net.mtu)-1))
|
||||||
|
coroutine.yield()
|
||||||
|
coroutine.yield()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
function net.recvstring(addr,port)
|
||||||
|
local fr,po,msg = ""
|
||||||
|
repeat
|
||||||
|
_,fr,po,msg = event.pull("net_msg")
|
||||||
|
until fr == addr and po == port
|
||||||
|
local ml,s = tonumber(msg), ""
|
||||||
|
for i = 1, ml do
|
||||||
|
_,fr,po,msg = event.pull("net_msg")
|
||||||
|
if fr == addr and po == port then
|
||||||
|
s=s..tostring(msg)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return s
|
||||||
|
end
|
Loading…
Reference in New Issue
Block a user