[Gd-chatter] r10923 - trunk/libraries/layer
hannes at gwydiondylan.org
hannes at gwydiondylan.org
Sat Oct 7 01:48:04 CEST 2006
Author: hannes
Date: Sat Oct 7 01:48:02 2006
New Revision: 10923
Modified:
trunk/libraries/layer/layer.dylan
trunk/libraries/layer/tcp.dylan
Log:
Bug: 7299
*send ack after receiving data
Modified: trunk/libraries/layer/layer.dylan
==============================================================================
--- trunk/libraries/layer/layer.dylan (original)
+++ trunk/libraries/layer/layer.dylan Sat Oct 7 01:48:02 2006
@@ -495,7 +495,7 @@
define function init-ethernet ()
- let int = make(<ethernet-interface>, name: "Intel");
+ let int = make(<ethernet-interface>, name: "em0");
let ethernet-layer = make(<ethernet-layer>, ethernet-interface: int);
let arp-handler = make(<arp-handler>);
arp-handler.arp-table[ipv4-address("192.168.0.23")]
@@ -503,12 +503,12 @@
mac-address: mac-address("00:de:ad:be:ef:00"),
ip-address: ipv4-address("192.168.0.23"));
let ip-layer = make(<ip-layer>);
- register-route(ip-layer, make(<next-hop-route>, cidr: as(<cidr>, "0.0.0.0/0"), next-hop: ipv4-address("192.168.0.1")));
+ register-route(ip-layer, make(<next-hop-route>, cidr: as(<cidr>, "0.0.0.0/0"), next-hop: ipv4-address("23.23.23.1")));
let ip-over-ethernet = make(<ip-over-ethernet-adapter>,
ethernet: ethernet-layer,
arp: arp-handler,
ip-layer: ip-layer,
- ipv4-address: ipv4-address("192.168.0.24"),
+ ipv4-address: ipv4-address("23.23.23.220"),
netmask: 24);
let icmp-handler = make(<icmp-handler>);
let icmp-over-ip = make(<icmp-over-ip-adapter>,
Modified: trunk/libraries/layer/tcp.dylan
==============================================================================
--- trunk/libraries/layer/tcp.dylan (original)
+++ trunk/libraries/layer/tcp.dylan Sat Oct 7 01:48:02 2006
@@ -183,7 +183,6 @@
for (i from connection.tcp-sequence-number - connection.send-buffer.size below $transform-from-bv(packet.acknowledgement-number))
pop(connection.send-buffer);
end;
- connection.tcp-acknowledgement-number := connection.tcp-acknowledgement-number + byte-offset(frame-size(packet.payload));
ack-received(connection);
elseif (packet.rst = 1)
rst-received(connection);
@@ -191,7 +190,10 @@
format-out("Unknown flag combination\n");
end;
if (instance?(connection.state, <established>))
- do(curry(push-last, connection.receive-buffer), packet.payload.data)
+ do(curry(push-last, connection.receive-buffer), packet.payload.data);
+ connection.tcp-acknowledgement-number
+ := connection.tcp-acknowledgement-number + byte-offset(frame-size(packet.payload));
+ send-via-tcp(connection, ack: #t);
end;
end;
end;
@@ -324,7 +326,7 @@
while(#t)
let res = read(s);
if (res & res.size > 0)
- format-out("Read %=\n", res)
+ format-out("Read %s\n", map-as(<string>, curry(as, <character>), res))
end;
end;
end;
More information about the chatter
mailing list