NAME

Net::NSCA::Client::Connection - Represents a connection between the client and the server.

VERSION

This documentation refers to version 0.009001

SYNOPSIS

use Net::NSCA::Client::Connection;

# Create a new connection
my $connection = Net::NSCA::Client::Connection->new(
    remote_host => 'nagios.example.net',
    remote_port => $nsca_port,
);

# Send a packet
$connection->send_data_packet($data_packet);

DESCRIPTION

Represents a connection between the NSCA client and server.

CONSTRUCTOR

This is fully object-oriented, and as such before any method can be used, the constructor needs to be called to create an object to work with.

new

This will construct a new object.

new(%attributes)

%attributes is a HASH where the keys are attributes (specified in the "ATTRIBUTES" section).

new($attributes)

$attributes is a HASHREF where the keys are attributes (specified in the "ATTRIBUTES" section).

ATTRIBUTES

# Set an attribute
$object->attribute_name($new_value);

# Get an attribute
my $value = $object->attribute_name;

initial_packet

This is a Net::NSCA::Client::InitialPacket object which represents the initial packet received when the connection to the NSCA server was established.

remote_host

Required

This is the host name or IP address of the remote NSCA server.

remote_port

Required

This is the port number of the remote NSCA server.

server_config

This specifies the configuration of the remote NSCA server. See Net::NSCA::Client::ServerConfig for details about using this. Typically this does not need to be specified unless the NSCA server was compiled with customizations.

timeout

This is the timeout for reading from the socket. The default is set to "$DEFAULT_TIMEOUT".

transport_layer_security

This is a Net::NSCA::Client::Connection::TLS object that specifies the transport layer security that will be used when sending the data packet.

socket

This is the socket object (IO::Socket::INET) that represents the TCP connection to the NSCA server.

METHODS

restart

This will restart the connection.

clear_transport_layer_security

This will clear the "transport_layer_security" attribute removing any transport layer security.

has_transport_layer_security

This will return a Boolean of if the connection is protected by transport layer security.

send_data_packet

This will send a data packet to the remote NSCA server. The method takes one argument which is the Net::NSCA::Client::DataPacket object. If the UNIX timestamp of the data packet is not set to the correct timestamp the server is expecting, then the data packet is cloned and the correct timestamp is set before sending the packet.

CONSTANTS

Constants provided by this library are protected by the Const::Fast module.

$DEFAULT_TIMEOUT

This is the default timeout that will be used if no timeout value is specified.

$SOCKET_READ_SIZE

This is the number of bytes that will be read from the socket at a time.

DEPENDENCIES

AUTHOR

Douglas Christopher Wilson, <doug at somethingdoug.com>

BUGS AND LIMITATIONS

Please report any bugs or feature requests to bug-net-nsca-client at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Net-NSCA-Client. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

I highly encourage the submission of bugs and enhancements to my modules.

LICENSE AND COPYRIGHT

Copyright 2009 Douglas Christopher Wilson.

This program is free software; you can redistribute it and/or modify it under the terms of either:

  • the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version, or

  • the Artistic License version 2.0.