home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Mega Top 1
/
os2_top1.zip
/
os2_top1
/
APPS
/
DATACOM
/
DIVERSEN
/
PSRT_11B
/
PKTSORT.DOC
< prev
next >
Wrap
Text File
|
1993-12-16
|
10KB
|
281 lines
PacketSorter v1.1b
Copyright 1993, Rolf K. Wilms
Contents
0. A warning
1. System requirements
2. Introduction
3. Quick installation for Squish users
4. Installation
5. Command line options and modes of operation
6. Packets recognized and created
7. Return codes
8. Disk space consumption
9. Technology
10. Author
11. Contents of the archive
12. Thanks
13. License and NO WARRANTY
0. A warning
PacketSorter has only been tested on a few different systems.
Although PacketSorter performed well on these systems there is
no guarantee that it does not break yours. It is no bad idea to back
up your mail packets before you try PacketSorter the first time.
1. System requirements
Operating system: OS/2 2.x
or DOS 3.0 or higher
Processor: i386 or higher
2. Introduction
PacketSorter is a utility for defragmentation and splitting FidoNet
(FTS-0001) message packets. It has been developed because the
time the echomail tosser Squish needs to toss messsages into the
messagebase heavily depends on the fragmentation level of the
packets received. The packets you receive from your links are
usually not sorted in any order. PacketSorter groups the messages
contained in the packets by their area tag. On my system the
packets defragmented with PacketSorter are tossed up to 5 times
faster than the original packets. PacketSorter is not limited to be
used only with Squish. You may use PacketSorter with any other
echomail processor.
FTS-0001 specifies no limit to the size of messages. Some echomail
processors crash if they're fed with messages that exceed a certain
size or those messages get dumped. The following echomail
tosssers are said to have limits:
GroupMail 8K
QMail 16K
ConfMail 14K
QEcho 10K
TosScan 32K
Squish 16K
PacketSorter can split large messages according to FSC-0047.
3. Quick installation for Squish users
If you are using OS/2, copy EMX.DLL in OS2\DLL.
If you are using DOS, copy EMX.EXE in your Squish directory.
Copy PKTSORT.EXE in your Squish directory.
Edit the EXTRACT commands in your compress.cfg file:
Insert 'pktsort -s16000' before each call to an unpacker. Examples:
OS2 Extract unzip -n %a %f
becomes
OS2 Extract pktsort -s16000 unzip -n %a %f
OS2 Extract doswrap pkunzip -n %a %f
becomes
OS2 Extract pktsort -s16000 doswrap pkunzip -n %a %f
DOS Extract pkunzip -n %a %f
becomes
DOS Extract pktsort -s16000 pkunzip -n %a %f
4. Installation
If you are using OS/2, copy EMX.DLL in OS2\DLL. If you are
using DOS, copy EMX.EXE in one directory with PKTSORT.EXE.
If you have EMX allready installed, then check the version. The
EMX version distributed with PacketSorter is 0.8g. I do not know
how PacketSorter performes with other versions than 0.8g,
because I did not try it.
5. Command line options and modes of operation
Syntax:
pktsort [-d<dir>] [-w<size>] [-a<count>] [-s<size>] [-h]
[-l<file>] [<program-with -args>]
Parameters to command line options have to follow immediately
after the option letter. Thus
pktsort -w 2000 is wrong but
pktsort -w2000 is correcct.
-d<dir> Specify dir as the directory where PacketSorter finds
FidoNet packets to process. Default is the current directory. Be
careful if you use this option. Squish for example will unpack
packet files to the current (Squish) directory. It should not be
necessary to use this option if you let your echomail tosser call
PacketSorter.
-w<size> Specify the size of the message window, that is the
maximum number of messages to keep in main memory during
defragmentation. If this number is less than the actual number of
messages to process, the messages can only be partially
defragmented. Contiguous blocks of <size> messages are allways
completely defragmented. The default size is 1000. With an
average message size of 1k a maximum of 1M of main memory
would be used for messages. Do not specify a size that would
need more than your free memory, because your system would
then start swapping memory to disk, yielding poor performance
(this also applies to DOS!). A <size> of 1 means no
defragmentation.
-a<count> Reserve space for <count> different areas. If space for
more than <count> different areas is needed, this space is
allocated dynamically. I recommend not to use this option
because the dynamic allocation in this version of PacketSorter is
so fast, that you would not notice a difference. The default is 100.
-s<size> Enable message splitting acording to FSC-0047. Messages
larger than <size> are split into smaller parts. Message-id kludges
are stripped from all parts but the first to prevent those parts to be
killed by dupe detection. The default is no splitting. The
minimum <size> is 8000.
-h Display a very short help.
-l<file> Log info on messages processed and split to <file>. The
default is no logging.
[program-with-args] Execute a program (with optional
arguments) before processing packets. Only packets that are
created by that program will then be processed by PacketSorter. If
the program returns another code than zero, PacketSorter will not
process packets. The program will usually be an archive
extraction program like unzip. You can let your echomail tosser
call PacketSorter by specifiying PKTSORT as your archive
extractor and using the actual archive processor (with options) as
program-with-args. See "Quick installation for Squish users" for
examples. If program-with-args is not specified, PacketSorter will
process all FTS-0001 packets it finds in the current directory or
that one specified by -d. This is useful if you receive
uncompressed pakets.
6. Packets recognized and created
PacketSorter will process those packets that have the filename
extension .pkt and that have a valid packet id in the packet
header.
PacketSorter merges all packets that originate from the same node
and contain the same password into one packet. Only zone, net
and node are recognized. The name of the packet created will be
one of the names of the input packets. If you do not have area
passwords with your points their packets could be merged into
one if they send uncompressed packets and you do not process
the packets immediately after receiving them, but this should not
be a problem.
PacketSorter uses a hashing technique to perform the
defragmentation. So there is no 'real' sorting done and the
defragmented areas are unordered. The order of the messages
within an area remains unchanged.
7. Return codes
PacketSorter returns the return code of the program executed
(program-with-args) or zero. If PacketSorter encounters any
problem, the original packets are retained and the tosser may try
to toss the undefragmented packets.
8. Disk space consumption
PacketSorter needs exactly as much additional disk space as is
occupied by the packets to process.
9. Technology
PacketSorter is written in C++ and compiled with GNU GCC.
Runtime system is EMX. As a consequence PacketSorter runs both
under OS/2 and DOS in 32-BIT flat memory model. It does not
run in MS-Windows or OS/2 DOS emulation.
10. Author
The autor of PacketSorter is Rolf K. Wilms. He may be contacted
via
Fidonet: 2:2401/301.8
Internet: rwilms@kottan.bo.open.de
Mail: Rolf K. Wilms, Franziska- 44a, 45131 Essen
The FidoNet address is not listed in the official FidoNet nodelist.
Unless the situation within FidoNet in Germany is not well
known to you, please use the Internet address or send mail crash
to +49-2041-558824 (this is 2:2401/301).
Bug reports are welcome. I'm also interested how PacketSorter
performs with echomail tossers other than Squish.
11. Contents of the archive
The original distribution archive of PaccketSorter includes the
following files:
pktsort.doc this file
pktsort.exe PacketSorter executable for DOS and OS/2
emx.exe EMX runtime module for DOS
emx.dll EMX runtime module for OS/2
file_id.diz A small description of PacketSorter
history.doc What has been done
12. Thanks
Thanks to Peter Scheffer, Peter Kaszanics and Robert Dahlem for
testing PacketSorter.
13. License and NO WARRANTY
The author grants you the right to use PaketSorter in any
environment. The author grants you the right to distribute the
unmodified archive as long as you do not charge for the contents
of the archive or the distribution.
NO WARRANTY
BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE,
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE
EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE
PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND,
EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE,
YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR
AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER,
OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE
LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL
DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE
THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS
OF DATA OR DATA BEING RENDERED INACCURATE OR
LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE PROGRAM TO OPERATE WITH ANY
OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER
PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS