Devel::RingBuffer::Ring

# Devel::RingBuffer

Description | shared memory ring buffer for debug/diagnosis of Perl scripts

Devel::RingBuffer > Package Manuals > Devel-RingBuffer-Ring
Classdocs

### Index

- NAME
- SYNOPSIS
- DESCRIPTION
- METHODS
- SEE ALSO
- AUTHOR, COPYRIGHT, AND LICENSE

# NAME

Devel::RingBuffer::Ring - Single ring of a Devel::RingBuffer

# SYNOPSIS

        #
        #    create ringbuffer
    	#
    	use Devel::RingBuffer;
    	use Devel::RingBuffer::TieInt;

    	my $ringbuf = Devel::RingBuffer->new(
    		File => 'somefile.trace',
    		Rings => 20,
    		Slots => 20,
    		MessageSize => 256,
    		GlobalSize => 24 * 1024,
    		StopOnCreate => 0,
    		TraceOnCreate => 1) || die "Can't create a ring buffer.";

    	my $ring = $ringbuf->allocate();
    	#
    	#	setup the next slot in the ring
    	#
    	$depth = $ring->nextSlot();
    	#
    	#	update the current slot with the new linenumber and timestamp
    	#
    	$ring->updateSlot();
    	#
    	#	free the current slot when we return from its subroutine call
    	#
    	$depth = $ring->freeSlot();

# DESCRIPTION

Provides shared memory structures (using memory mapped files via IPC::Mmap and Devel::RingBuffer).

# METHODS

Refer to included classdocs for summary and detailed method descriptions.

# SEE ALSO

Devel::RingBuffer

Devel::STrace

IPC::Mmap

perldebguts

strace(1) (or truss(1))

# AUTHOR, COPYRIGHT, AND LICENSE

Dean Arnold mailto:darnold@presicient.com

Copyright(C) 2006, Dean Arnold, Presicient Corp., USA. All rights reserved.

Permission is granted to use this software under the same terms as Perl itself. Refer to the Perl Artistic License for details.