|
cnet's version number changes when a change to its source
code affects cnet's execution semantics.
The version number does not change if cosmetic changes are made to the
source code, or if the documentation changes.
Version 2.0 - from February 2002
- v2.0.10 - many modifications to source code to provide clean compilation
of cnet and examples with new, more rigorous, versions of gcc.
- v2.0.9 - another attempt to correct a bug which permitted events
to be delivered after a node had crashed.
- v2.0.8 - corrected a bug in the <cnet64bits.h> header file
which permitted only constants to be passed as arguments to
int64_INIT.
- v2.0.8 - corrected a bug which permitted timer events to still expire
after a node had crashed.
- v2.0.8 - improved installation on FreeBSD (5.1-RELEASE) -
thanks to Rohan Joyce
<joycer01(at)tartarus.uwa.edu.au> for submitting a patch.
- v2.0.8 - corrected the detection of PowerPC architectures.
- v2.0.7 - corrected the detection of SPARC architectures and some
compiler warnings when using gcc and ANSI-C - thanks to Peter Neubert
<neubert(at)mcs.sci.kuniv.edu.kw> for reporting the problem.
- v2.0.6 - fixed an off-by-one error in handling changing linkstates
(re)reported by Donald Gordon.
- v2.0.5 - added facility for a short string to be drawn on animated
frames - thanks to Alex Feldman
<alex(at)alexandrite.boisestate.edu> for the suggestion.
- v2.0.4 - compilations with gcc now have the -Werror
flag added by default.
- v2.0.4 - improved the CHECK() macro in cnet.h
- v2.0.4 - improvements to installation scripts -
thanks to John Murdie <john(at)cs.york.ac.uk> for these.
- v2.0.4 - fixed an off-by-one error in handling changing linkstates -
thanks to Donald Gordon <Donald.Gordon(at)mcs.vuw.ac.nz> for this.
- v2.0.3 - small change to the scheduling of Ethernet segments -
thanks to Klaus Doerrscheidt <kdoerrscheidt(at)web.de> for this.
- v2.0.2 - small event scheduler problem corrected.
- Support for 10Mbps IEEE 802.3 Ethernet segments has been added;
physical links are now each of the new type
CnetLinkType.
- Network Interface Cards (NICs) connect nodes to Ethernet segments;
the new datatype CnetNicaddr
provides support for each NIC's hardware address.
The address may be set with the new function
CNET_set_nicaddr,
and the new functions
CNET_parse_nicaddr and
CNET_format_nicaddr
convert between character strings and the CnetNicaddr datatype.
NICs may be set into promiscuous mode with the new function
CNET_set_promiscuous.
- 64-bit integers are now used to store all times (now in microseconds)
and large statistics.
A new datatype, CnetInt64,
and a number of arithmetic, conversion, and I/O routines are defined
in the new header file
<cnet64bits.h>.
The new header file is included by the standard header file
<cnet.h>.
- The values of nodeinfo.messagerate,
nodeinfo.time_in_usec, and
linkinfo[i].propagationdelay
are now of type CnetInt64.
- The 2nd argument of
CNET_start_timer()
is now of type CnetInt64 and requests a time in microseconds,
not milliseconds.
- Three new constants,
HAVE_LONG_LONG, SIZEOF_INT, and SIZEOF_LONG
must now be specified in the config.h file.
- Nodes are now provided with
command-line arguments
when they reboot.
- The Application Layer is now consulted to check that user-requested
message sizes are neither too big nor too small.
- Documentation extended, including some much-requested
protocol walkthroughs.
- Tcl/Tk scripts corrected to capture WM_DELETE_WINDOW messages for all
top-level windows.
- Corrected the values displayed on each node's Tcl/Tk radiobuttons
used to modify the node's attributes at run-time.
- Output via stdio functions (to Tcl/Tk windows) simplified and improved
so that scrollbars do not ``jump back'' to bottom of the window
on every output.
- All statistics are now ``flushed'' via a single Tcl/Tk periodic event,
rather than via cnet's main scheduler.
- Statistics windows are now only updated if they have changed values.
- Improved documentation.
Version 1.7 - August 2001
- The data-link frames of 2-node simulations may now be
animated.
A new EV_DRAWFRAME event provides the user's protocol code
with the opportunity to specify how the each individual data-Link
frame is to be drawn. The protocols themselves do not need to
provide any special windowing/drawing code.
Up to 6 fields of each frame may be drawn in colours specified in
the standard header file <cnet.h>.
- Event tracing now appears in a separate scrollable Tcl/Tk window
under the main map window (rather than just to stderr).
A separate file may also be specified via the new global
attribute
tracefile (specified in the topology file),
to receive a full copy of the simulation's trace.
- The link attributes of costperframe or costperbyte
may now be drawn on each link on the topology map by setting the
new Boolean attributes
costperframe or costperbyte
to true in the topology file.
costperframe is shown in preference to costperbyte.
- Added facility for protocol source and object files to be specified
with full pathnames.
- Physical Layer corruption now only modifies two bytes of a frame
to guarantee detection by the provided checksum functions.
- The Physical Layer may now to asked to corrupt frames by truncating
them, by setting MAY_TRUNCATE_FRAMES in config.h.
- A background image (GIF) may now be displayed on the toplogy map under
Tcl/Tk by specifying the new bgimage
attribute in the topology file.
- Support added for the FreeBSD platform -
thanks to Jordan Hubbard <jkh(at)freebsd.org>
and Michael Haro <mharo(at)area51.fremont.ca.us>
- Support added for the NetBSD platform -
thanks to Mark Davies, <mark(at)mcs.vuw.ac.nz>
- Corrected a bug where any output to a node's window produced by
an EV_DEBUG? event handler did not appear if using the
-q comand-line option.
- Each node's statistics' window is now only updated if that window if
displayed.
- The values of CnetTimer returned by CNET_start_timer(),
are now an independent property of each node.
- A number of internal global variables consolidated into the
gattr structure.
- Each node's name, in nodeinfo.nodename, is now stored in a
fixed sized array of MAX_NODENAME_LEN (=32) bytes,
rather than via a character pointer.
- Improved documentation.
Version 1.6 - May 2000
- The cnet functions
CNET_set_cursor(),
CNET_get_cursor(),
CNET_clear_to_eoln(), and
CNET_clear_to_eos() are no longer supported.
- When tracing events, arbitrary addresses/variables may now be traced
by name (instead of their hexadecimal addresses) by calling
CNET_trace_name() at the top of an event's handler.
- The link attributes of propagationdelay and
bandwidth may no longer be changed at run-time via the
windowing interface.
- A new function, CNET_timer_data(), enables a protocol to
retrieve a timer's user-data before the timer expires.
This permits a protocol to retrive and deallocate dynamically
allocated storage before it calls CNET_stop_timer().
- No ``raw'' X-window API functions called.
All windowing, mouse tracking, fonts etc, are provided by Tcl/Tk.
No special support provided for monochrome-only displays.
- All windowing for statistics, etc, ``pushed'' into the Tck/Tk code.
- Support added for Tcl/Tk v8.0 and beyond.
- A warning message is porduced if a provided topology file is not
connected. Random topologies, requested via the -r nnodes
command-line option, are now guaranteed to be connected.
- Node icons are now located in a directory via the value of
CNETPATH, rather than as statically-compiled XPM structures.
XPM operating system support is no longer required.
- Both recieve and interupt now recognized spelling errors.
- Improved documentation.
Version 1.5 - April 1999
- Support for Linux a.out format dropped
(now only ELF format).
- Support for Motif and XView windowing dropped
(now only Tcl/Tk).
- Improved documentation.
Version 1.4 - February 1997
Version 1.3 - July 1996
|