[Gd-chatter] r11532 - in trunk/libraries: gui-sniffer layer utilities/state-machine
andreas at gwydiondylan.org
andreas at gwydiondylan.org
Mon Dec 10 00:17:45 CET 2007
Author: andreas
Date: Mon Dec 10 00:17:44 2007
New Revision: 11532
Modified:
trunk/libraries/gui-sniffer/commands.dylan
trunk/libraries/gui-sniffer/library.dylan
trunk/libraries/gui-sniffer/module.dylan
trunk/libraries/layer/layer.dylan
trunk/libraries/utilities/state-machine/state-machine.dylan
Log:
job: 7299
Ignore unconnected nodes on disconnect, added timeout to "ping" command.
Modified: trunk/libraries/gui-sniffer/commands.dylan
==============================================================================
--- trunk/libraries/gui-sniffer/commands.dylan (original)
+++ trunk/libraries/gui-sniffer/commands.dylan Mon Dec 10 00:17:44 2007
@@ -66,9 +66,16 @@
let socket = create-filter-socket(context.nnv-context.ip-layer,
list(protocol: 1, source-address: target),
#());
+ let timer = make(<timer>,
+ in: 10,
+ event: method()
+ format(stream, "Timeout waiting for response from %s\n", target);
+ close-socket(socket);
+ end);
let response-handler = make(<closure-node>,
closure: method(packet :: <icmp-frame>)
format(stream, "Host %s is alive\n", target);
+ cancel(timer);
close-socket(socket);
end);
connect(socket, response-handler);
@@ -96,7 +103,7 @@
let default-cidr = as(<cidr>, "0.0.0.0/0");
delete-route(context.nnv-context.ip-layer, default-cidr);
add-next-hop-route(context.nnv-context.ip-layer, router, default-cidr);
- //format(context.context-server.server-output-stream, "received ack %s\n", as(<string>, frame));
+ format(context.context-server.server-output-stream, "IP address configured from DHCP to %s\n", ip);
end;
let dhcp = make(<dhcp-client>, send-socket: socket, response-callback: set-ip);
connect(socket.decapsulator, dhcp);
Modified: trunk/libraries/gui-sniffer/library.dylan
==============================================================================
--- trunk/libraries/gui-sniffer/library.dylan (original)
+++ trunk/libraries/gui-sniffer/library.dylan Mon Dec 10 00:17:44 2007
@@ -19,4 +19,5 @@
use protocols;
use network-interfaces;
use layer;
+ use timer;
end library gui-sniffer;
Modified: trunk/libraries/gui-sniffer/module.dylan
==============================================================================
--- trunk/libraries/gui-sniffer/module.dylan (original)
+++ trunk/libraries/gui-sniffer/module.dylan Mon Dec 10 00:17:44 2007
@@ -61,8 +61,8 @@
use cidr;
use tcp;
use ipv6;
- // Add binding exports here.
use deuce-internals, prefix: "deuce/";
use network-interfaces;
use layer;
+ use timer;
end module gui-sniffer;
Modified: trunk/libraries/layer/layer.dylan
==============================================================================
--- trunk/libraries/layer/layer.dylan (original)
+++ trunk/libraries/layer/layer.dylan Mon Dec 10 00:17:44 2007
@@ -72,6 +72,14 @@
connect(socket.socket-layer.fan-out, input.the-input);
end;
+define method disconnect (false == #f, object :: <object>)
+ // catch-all: already disconnected
+end;
+
+define method disconnect (object :: <object>, false == #f)
+ // catch-all: already disconnected
+end;
+
define method disconnect (socket :: <raw-socket>, input :: <push-input>)
disconnect(socket.socket-layer.fan-out, input);
end;
@@ -155,7 +163,7 @@
define method close-socket (socket :: <filter-socket>) => ();
disconnect(socket.decapsulator.the-output, socket.decapsulator.the-output.connected-input);
disconnect(socket.demultiplexer-output, socket.decapsulator.the-input);
- disconnect(socket.completer.the-output, socket.completer.the-output.conected-input);
+ disconnect(socket.completer.the-output, socket.completer.the-output.connected-input);
disconnect(socket.completer.the-input.connected-output, socket.completer.the-input);
end;
Modified: trunk/libraries/utilities/state-machine/state-machine.dylan
==============================================================================
--- trunk/libraries/utilities/state-machine/state-machine.dylan (original)
+++ trunk/libraries/utilities/state-machine/state-machine.dylan Mon Dec 10 00:17:44 2007
@@ -45,7 +45,7 @@
define method process-event (dingens :: <protocol-state-encapsulation>, event :: <symbol>)
let old-state = dingens.state;
let new-state = next-state(old-state, event);
- format-out("State transition %= => %=\n", old-state, new-state);
+ //format-out("State transition %= => %=\n", old-state, new-state);
dingens.state := new-state;
state-transition(dingens, old-state, new-state);
end;
More information about the chatter
mailing list