• Home
  • History
  • Annotate
  • only in this directory
NameDateSize

..11-Apr-2013244

LDT.pmH A D20-Feb-201338.8 KiB

Makefile.oldH A D20-Feb-201325.7 KiB

Makefile.PLH A D20-Feb-20131.3 KiB

MANIFESTH A D20-Feb-201374

READMEH A D20-Feb-20133.9 KiB

t/H11-Apr-20136

README

1
2
3Release
4=======
5
6IPC::LDT 2.03.
7
8
9Overview
10========
11
12To install blocking, record oriented IPC communication, Perls builtin
13function print() and the operator <> are sufficient. But if there's a
14need to implement non blocking, stream oriented communication, additional
15efforts are required.
16
17IPC::LDT is a class to build objects which transparently perform a "length
18driven transfer". "LDT" is a simple low level protocol for non blocking
19communication, acting between the transfer protocol (TCP/IP) and the
20application protocol.
21
22An LDT message contains of two parts: a fix length prefix describing the
23length of the second part, and the kernel message (of the described length).
24
25  Example: if the prefix length is 4, a message "msg"
26           would be transfered as "0003msg".
27
28IPC::LDT provides a simple interface to use this protocol. A user sends and
29receives messages by simple method calls, while the LDT objects perform the
30complete translation into and from LDT messages (with prefix) and all the
31necessary low level IO handling to transfer stream messages on non blocking handles.
32
33IPC::LDT objects can be configured to transfer simple string messages as well
34as complex data structures. Additionally, they allow to delay the transfer of
35certain messages in a user defined way.
36
37
38Synopsis
39========
40
41Load the module as usual:
42
43  use IPC::LDT;
44
45Make an LDT object for every handle that should be used in an LDT communication:
46
47  my $asciiClient=new IPC::LDT(handle=>HANDLE);
48  my $objectClient=new IPC::LDT(handle=>HANDLE, objectMode=>1);
49
50Now you can send and receive data:
51
52  $data=$asciiClient->receive;
53  @objects=$objectClient->receive;
54
55  $asciiClient=$client->send("This is", " a message.");
56  $objectClient=$client->send("These are data:", [qw(a b c)]);
57
58
59Requirements
60============
61
62IPC::LDT is tested with Perl 5.005 on Solaris and Linux.
63It should run under later versions as well.
64
65The module requires Storable and Filter::Util::Call.
66
67
68Installation
69============
70
71This module can be installed as usual by
72
73  perl Makefile.PL
74  make
75  make test
76  make install
77
78
79What's new?
80===========
81
822.03 enforces perl version 5.00503 (necessary to use the fields pragma).
83
84
85Problems?
86=========
87
88If you run into trouble with this module, feel free
89to contact me at perl@jochen-stenzel.de.
90
91
92Author, Copyright, License
93==========================
94
95Copyright (c) 1998-2000 Jochen Stenzel. All rights reserved.
96
97This program is free software, you can redistribute it and/or modify it
98under the terms of the Artistic License distributed with Perl version
995.003 or (at your option) any later version. Please refer to the
100Artistic License that came with your Perl distribution for more
101details.
102
103The Artistic License should have been included in your distribution of
104Perl. It resides in the file named "Artistic" at the top-level of the
105Perl source tree (where Perl was downloaded/unpacked - ask your
106system administrator if you dont know where this is).  Alternatively,
107the current version of the Artistic License distributed with Perl can
108be viewed on-line on the World-Wide Web (WWW) from the following URL:
109
110      http://www.perl.com/perl/misc/Artistic.html
111
112
113Disclaimer
114==========
115
116This software is distributed in the hope that it will be useful, but
117is provided "AS IS" WITHOUT WARRANTY OF ANY KIND, either expressed or
118implied, INCLUDING, without limitation, the implied warranties of
119MERCHANTABILITY and FITNESS FOR A PARTICULAR PURPOSE.
120
121The ENTIRE RISK as to the quality and performance of the software
122IS WITH YOU (the holder of the software).  Should the software prove
123defective, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR
124CORRECTION.
125
126IN NO EVENT WILL ANY COPYRIGHT HOLDER OR ANY OTHER PARTY WHO MAY CREATE,
127MODIFY, OR DISTRIBUTE THE SOFTWARE BE LIABLE OR RESPONSIBLE TO YOU OR TO
128ANY OTHER ENTITY FOR ANY KIND OF DAMAGES (no matter how awful - not even
129if they arise from known or unknown flaws in the software).
130
131Please refer to the Artistic License that came with your Perl
132distribution for more details.
133