Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
Net::Analysis::TCPMonoUsereContributed Perl DocuNet::Analysis::TCPMonologue(3)

       Net::Analysis::TCPMonologue - simple class to contain a TCP monologue

	 use Net::Analysis::Packet;
	 use Net::Analysis::Monologue;

	 my $mono = Net::Analysis::Monologue->new();

	 if ($mono->data() =~ /foo/) {
	   print "Mono contained 'foo'\n";

	 print "Monologue was "	.$mono->length().
	       "b long,	over "	.$mono->t_elapsed ()." seconds\n";

       A TCP monologue is a series of packets that travel in one direction,
       e.g. a HTTP response. A monologue ends when a data packet travels in
       the other direction. Pairs of monologues	will often be linked as

       As packets are added, this object updates some info. It assumes that
       the packet you've added belongs in the monologue, and that you're
       adding them in the correct order.

       The payload of the monologue lives in "$mono-"{data}>.

   new ( )
       Takes no	arguments.

   add_packet ($pkt)
       Adds any	data, increments the packet counter, and keeps note of the

   add_mono ($other_mono)
       Walks through the packets in $other_mono, and adds each one to $self.

   data	()
       The actual data of the monologue; the bytes sent.

   t_start ()
       Returns an object representing the time the monologue started. Can be
       treated like a float, giving fractional epoch seconds. Only accurate to
       the microsecond.

   t_end ()
       Same as "t_start()", but	giving the time	the monologue ended (or	the
       last packet so far, if you call it before the monologue has ended.)

   t_elapsed ()
       Returns an object representing "t_end - t_start"	for this monologue.
       Can be treated like a float, giving duration in fractional seconds.

   n_packets ()
       How many	data packets were in the monologue.

   length ()
       How long	the monologue data was,	in bytes. Excludes all the various
       packet headers.

   first_packet	()
       Returns the first Net::Analysis::Packet in the monologue. You can use
       it to extract any TCP or	IP information about the monologue.

   which_pkts ($byte_offset_start [, $byte_offset_end])
       Given a byte offset from	within the monologue, and optionally an	offset
       later in	the monologue, return the packets which	contributed bytes
       between the offsets (or an empty	arrayref if none found). Bytes are
       counted from zero (i.e. offset '0' would	be the first byte).

       This can	be useful to retrieve timestamps of areas inside long-lived

   socketpair_key ()
       Returns the socketpair key of the TCP session containing	the monologue.

   _data_packets ()
       Returns an array-ref, containing	all the	packets	which contributed data
       to the monologue.

       NOTE: this method may go	away sometime.

       None by default.

       Adam B. Worrall,	<>

       Copyright (C) 2004 by Adam B. Worrall

       This library is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself, either Perl	version	5.8.5 or, at
       your option, any	later version of Perl 5	you may	have available.

perl v5.32.1			  2010-04-04	Net::Analysis::TCPMonologue(3)


Want to link to this manual page? Use this URL:

home | help