1
0
mirror of https://github.com/AR2000AR/openComputers_codes.git synced 2025-09-08 14:41:14 +02:00

[osinetwork] misc comments and formatting

This commit is contained in:
2023-06-15 15:00:26 +02:00
parent cdd9fcd96b
commit e55b43f9e3
2 changed files with 8 additions and 2 deletions

View File

@@ -100,6 +100,11 @@ end
---@return ICMPPacket
function ICMPPacket.unpack(val)
local type, code, checksum, param, offset = string.unpack(ICMPPacket.payloadFormat, val)
---@cast type number
---@cast code number
---@cast checksum number
---@cast param number
---@cast offset number
local payload = string.unpack('z', val, offset)
local icmp = ICMPPacket(type, code, param, payload)
icmp:checksum(checksum)

View File

@@ -132,6 +132,7 @@ function IPv4Layer:send(to, payload)
local dst = arp.getAddress(self._arp, arp.HARDWARE_TYPE.ETHERNET, self.layerType, to, self:addr())
if (not dst) then error("Cannot resolve IP", 2) end
for _, payloadFragment in pairs(payload:getFragments(self:mtu())) do
---@diagnostic disable-next-line: param-type-mismatch
local eFrame = ethernet.EthernetFrame(self:layer():addr(), dst, nil, self.layerType, payloadFragment:pack())
self:layer():send(dst, eFrame)
end
@@ -142,8 +143,8 @@ end
---@param to? string
---@param payload string
function IPv4Layer:payloadHandler(from, to, payload)
checkArg(1, from, 'string','nil')
checkArg(2, to, 'string','nil')
checkArg(1, from, 'string', 'nil')
checkArg(2, to, 'string', 'nil')
checkArg(3, payload, 'string')
local pl = IPv4Packet.unpack(payload)
if (pl:dst() == self:addr()) then