[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