The Perl and Raku Conference 2025: Greenville, South Carolina - June 27-29 Learn more

$Lab::Moose::Connection::Debug::VERSION = '3.930';
#ABSTRACT: Debug connection, printing / reading on terminal
use v5.20;
use Moose;
use Carp;
has verbose => (
is => 'ro',
isa => 'Bool',
default => 1,
);
sub Write {
my $self = shift;
my %args = @_;
if ( $self->verbose() ) {
carp "Write called with args:\n", Dump \%args, "\n";
}
}
sub Read {
my $self = shift;
my %args = @_;
carp "Read called with args:\n", Dump \%args, "\n";
say "enter return value:";
my $retval = <STDIN>;
chomp $retval;
return $retval;
}
sub Query {
my $self = shift;
my %args = @_;
carp "Query called with args:\n", Dump \%args, "\n";
say "enter return value:";
my $retval = <STDIN>;
chomp $retval;
return $retval;
}
sub Clear {
my $self = shift;
if ( $self->verbose ) {
carp "Clear called";
}
}
__PACKAGE__->meta->make_immutable();
1;
__END__
=pod
=encoding UTF-8
=head1 NAME
Lab::Moose::Connection::Debug - Debug connection, printing / reading on terminal
=head1 VERSION
version 3.930
=head1 SYNOPSIS
use Lab::Moose;
my $instrument = instrument(
type => 'DummySource',
connection_type => 'DEBUG'
connection_options => {
verbose => 0, # do not print arguments of all Write commands (default is 1).
}
);
=head1 DESCRIPTION
Debug connection object. Print out C<Write> commands and prompt answer for
C<Read> commands.
=head1 METHODS
=head2 Write
If the connection option verbose is set, output the content of all write
commands to the terminal. Otherwise, do nothing.
=head2 Read
Output the arguments of the read command to the terminal, and request
a response there, which is given as result of the read.
=head2 Query
Output the arguments of the query command to the terminal, and request
a response there, which is given as result of the query.
=head2 Clear
Output "Clear called" on the terminal.
=head1 COPYRIGHT AND LICENSE
This software is copyright (c) 2025 by the Lab::Measurement team; in detail:
Copyright 2016 Simon Reinhardt
2017 Andreas K. Huettel, Simon Reinhardt
2020 Andreas K. Huettel
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
=cut