Games::AssaultCube::Log::Line::Status - Describes the Status event in a log line


Games-AssaultCube documentation Contained in the Games-AssaultCube distribution.

Index


Code Index:

NAME

Top

Games::AssaultCube::Log::Line::Status - Describes the Status event in a log line

ABSTRACT

Top

Describes the Status event in a log line

DESCRIPTION

Top

This module holds the "Status" event data from a log line. Normally, you would not use this class directly but via the Games::AssaultCube::Log::Line class.

This line is emitted once in a while as the AC server goes through the game.

Attributes

Those attributes hold information about the event. As this class extends the Games::AssaultCube::Log::Line::Base class, you can also use it's attributes too.

datetime

The DateTime object representing the time this event was logged

players

The number of connected players

sent

The number of Kbytes sent per sec ( float )

recv

The number of Kbytes sent per sec ( float )

AUTHOR

Top

Apocalypse <apocal@cpan.org>

Props goes to the BS clan for the support!

This project is sponsored by http://cubestats.net

COPYRIGHT AND LICENSE

Top


Games-AssaultCube documentation Contained in the Games-AssaultCube distribution.

# Declare our package
package Games::AssaultCube::Log::Line::Status;

# import the Moose stuff
use Moose;

# Initialize our version
use vars qw( $VERSION );
$VERSION = '0.04';

extends 'Games::AssaultCube::Log::Line::Base';

# TODO improve validation for everything here, ha!

has 'datetime' => (
	isa		=> 'DateTime',
	is		=> 'ro',
	required	=> 1,
);

has 'players' => (
	isa		=> 'Int',
	is		=> 'ro',
	required	=> 1,
);

has 'sent' => (
	isa		=> 'Num',
	is		=> 'ro',
	required	=> 1,
);

has 'recv' => (
	isa		=> 'Num',
	is		=> 'ro',
	required	=> 1,
);

has 'tostr' => (
	isa		=> 'Str',
	is		=> 'ro',
	lazy		=> 1,
	default		=> sub {
		my $self = shift;
		return "Status: " . $self->players . " players, sent " . $self->sent . " bytes, recv " . $self->recv . " bytes at " . $self->datetime->datetime;
	},
);

no Moose;
__PACKAGE__->meta->make_immutable;

1;
__END__