[Gd-chatter] r10816 - in trunk/libraries: registry/generic sniffer vector-table

hannes at gwydiondylan.org hannes at gwydiondylan.org
Thu Jul 6 02:02:22 CEST 2006


Author: hannes
Date: Thu Jul  6 02:02:20 2006
New Revision: 10816

Added:
   trunk/libraries/registry/generic/vector-table   (contents, props changed)
   trunk/libraries/vector-table/
   trunk/libraries/vector-table/library.dylan   (contents, props changed)
   trunk/libraries/vector-table/vector-table.dylan   (contents, props changed)
   trunk/libraries/vector-table/vector-table.lid   (contents, props changed)
Removed:
   trunk/libraries/sniffer/vector-table.dylan
Log:
Job: minor
put vector-table in a seperate library and module

Added: trunk/libraries/registry/generic/vector-table
==============================================================================
--- (empty file)
+++ trunk/libraries/registry/generic/vector-table	Thu Jul  6 02:02:20 2006
@@ -0,0 +1 @@
+abstract://dylan/vector-table/vector-table.lid

Added: trunk/libraries/vector-table/library.dylan
==============================================================================
--- (empty file)
+++ trunk/libraries/vector-table/library.dylan	Thu Jul  6 02:02:20 2006
@@ -0,0 +1,19 @@
+module: dylan-user
+Author: Andreas Bogk, Hannes Mehnert
+Copyright: (C) 2005, 2006,  All rights reserved. Free for non-commercial use.
+
+define library vector-table
+  use common-dylan;
+  use packetizer;
+  use collections, import: { table-extensions };
+
+  export vector-table;
+end;
+
+define module vector-table
+  use common-dylan;
+  use packetizer;
+  use table-extensions;
+
+  export <vector-table>;
+end;

Added: trunk/libraries/vector-table/vector-table.dylan
==============================================================================
--- (empty file)
+++ trunk/libraries/vector-table/vector-table.dylan	Thu Jul  6 02:02:20 2006
@@ -0,0 +1,21 @@
+module: vector-table
+Author: Andreas Bogk, Hannes Mehnert
+Copyright: (C) 2005, 2006,  All rights reserved. Free for non-commercial use.
+
+define sealed class <vector-table> (<table>)
+end class;
+
+define method table-protocol (table :: <vector-table>)
+ => (test-function :: <function>, hash-function :: <function>)
+  values(method (x :: <fixed-size-byte-vector-frame>, y :: <fixed-size-byte-vector-frame>)
+           x = y end, vector-hash);
+end method table-protocol; 
+
+define method vector-hash (vector :: <fixed-size-byte-vector-frame>, state :: <hash-state>)
+  => (id :: <integer>, state :: <hash-state>)
+  let hash = 0;
+  for (number in vector.data)
+    hash := hash + number;
+  end for;
+  values(hash, state);
+end method;

Added: trunk/libraries/vector-table/vector-table.lid
==============================================================================
--- (empty file)
+++ trunk/libraries/vector-table/vector-table.lid	Thu Jul  6 02:02:20 2006
@@ -0,0 +1,3 @@
+library: vector-table
+files: library
+       vector-table



More information about the chatter mailing list