Net::NATS::Client - A Perl client for the NATS messaging system.
# # Basic Usage # $client = Net::NATS::Client->new(uri => 'nats://localhost:4222'); $client->connect() or die $!; # Simple Publisher $client->publish('foo', 'Hello, World!'); # Simple Async Subscriber $subscription = $client->subscribe('foo', sub { my ($message) = @_; printf("Received a message: %s\n", $message->data); }); # Process one message from the server. Could be a PING message. # Must call at least one per ping-timout (default is 120s). $client->wait_for_op(); # Process pending operations, with a timeout (in seconds). # A timeout of 0 is polling. $client->wait_for_op(3.14); # Unsubscribe $subscription->unsubscribe(); # Close connection $client->close(); # # Request/Reply # # Setup reply $client->subscribe("foo", sub { my ($request) = @_; printf("Received request: %s\n", $request->data); $client->publish($request->reply_to, "Hello, Human!"); }); # Send request $client->request('foo', 'Hello, World!', sub { my ($reply) = @_; printf("Received reply: %s\n", $reply->data); }); # # TLS # # Set the socket arguments that will be passed to IO::Socket::SSL my $socket_args = { SSL_cert_file => $cert_file, SSL_key_file => $key_file, }; my $client = Net::NATS::Client->new(uri => 'nats://localhost:4222', socket_args => $socket_args); $client->connect() or die $!;
https://github.com/carwynmoore/perl-nats
Carwyn Moore
Vick Khera, <vivek at khera.org>
MIT License. See LICENCE for the complete licensing terms.
Copyright (C) 2016 Carwyn Moore
To install URI::nats, copy and paste the appropriate command in to your terminal.
cpanm
cpanm URI::nats
CPAN shell
perl -MCPAN -e shell install URI::nats
For more information on module installation, please visit the detailed CPAN module installation guide.