API-Eulerian

 view release on metacpan or  search on metacpan

lib/API/Eulerian/EDW/Chrono.pm  view on Meta::CPAN

  return bless( {
      _CHRONO => [ gettimeofday ],
    }, shift
  );
}
#
# @brief Get Elapsed time between Chrono creation and call to elapsed.
#
# @param $self - API::Eulerian::EDW::Chrono instance.
#
# @return Elapsed time ( secondes.microsecondes )
#
sub elapsed
{
  return tv_interval( shift->{ _CHRONO }, [ gettimeofday ] );
}
#
# Endup module properly
#
1;

lib/API/Eulerian/EDW/Chrono.pm  view on Meta::CPAN

=over 4

=item * API::Eulerian::EDW::Chrono instance.

=back

=head3 output

=over 4

=item * Elapsed time secondes.microsecondes.

=back

=head1 SEE ALSO

L<Time::HiRes>

=head1 AUTHOR

Xavier Thorillon <x.thorillon@eulerian.com>

lib/API/Eulerian/EDW/Peer.pm  view on Meta::CPAN

sub grid
{
  my ( $self, $grid ) = @_;
  $self->{ _GRID } = $grid if defined( $grid );
  return $self->{ _GRID };
}
#
# @brief Secure attribute accessors.
#
# @param $self - Eulerian Data Warehouse Peer.
# @param $secure - Secure mode flag.
#
# @return Secure mode flag.
#
sub secure
{
  my ( $self, $secure ) = @_;
  $self->{ _SECURE } = $secure if defined( $secure );
  return $self->{ _SECURE };
}
#
# @brief IP attribute accessors.
#
# @param $self - Eulerian Data Warehouse Peer.
# @param $ip - Eulerian Data Warehouse Peer IP.
#
# @return Secure mode flag.
#

lib/API/Eulerian/EDW/Peer.pm  view on Meta::CPAN

# @brief Setup Eulerian Data Warehouse Peer.
#
# @param $self - Eulerian Data Warehouse Peer.
# @param $setup - Setup entries.
#
sub setup
{
  my ( $self, $setup ) = @_;

  foreach my $param ( qw/
    kind platform hook secure token grid ip host ports / ) {
    if ( $self->can($param) && exists $setup->{ $param } ) {
      $self->$param( $setup->{$param} );
    }
  }

  return $self;
}

#
# @brief Dump Eulerian Data Warehouse Peer settings.
#
# @param $self - Eulerian Data Warehouse Peer.
#
sub dump
{
  my ( $self ) = @_;
  my $hook = $self->hook() ? 'Set' : 'Unset';
  my $secure = $self->secure() ? 'True' : 'False';
  my $ports = $self->ports();
  my $dump = "\n";

  $ports = $ports ? $ports->[ 0 ] . ',' . $ports->[ 1 ] : undef;
  $dump .= 'Host     : ' . $self->host() . "\n" if $self->host();
  $dump .= 'Ports    : ' . $ports . "\n" if $ports;
  $dump .= 'Class    : ' . $self->class() . "\n";
  $dump .= 'Kind     : ' . $self->kind() . "\n";
  $dump .= 'Platform : ' . $self->platform() . "\n";
  $dump .= 'Hook    : ' . $hook . "\n";
  $dump .= 'Token    : ' . $self->token() . "\n";
  $dump .= 'Grid     : ' . $self->grid() . "\n";
  $dump .= 'Secure   : ' . $secure . "\n";
  $dump .= 'Ip       : ' . $self->ip() . "\n";

  print( $dump );
  return $self;
}
#
# @brief Get Authorization bearer value from Eulerian Authority Services.
#
# @param $self - Eulerian Data Warehouse Peer.
#

lib/API/Eulerian/EDW/Peer/Rest.pm  view on Meta::CPAN

#
# @return Remote URL to Eulerian Data Warehouse Platform.
#
sub url
{
  my $self = shift;
  my $platform;
  my $host;
  my $url;

  $url = $self->secure() ? 'https://' : 'http://';
  $platform = $self->platform();
  $host = $self->host();
  if( $host ) {
    $url .= $host . ':';
    $url .= $self->ports()->[ $self->secure() ];
  } elsif( $platform eq 'fr' ) {
    $url .= 'edw.ea.eulerian.com';
  } elsif( $platform eq 'ca' ) {
    $url .= 'edw.ea.eulerian.ca';
  } else {
    $url = undef;
  }

  return $url;
}

lib/API/Eulerian/EDW/Peer/Thin.pm  view on Meta::CPAN

# @brief Get remote URL to Eulerian Data Warehouse Platform.
#
# @param $self - Eulerian Data Warehouse Peer.
#
# @return Remote URL to Eulerian Data Warehouse Platform.
#
sub url
{
  my $self = shift;
  my $aes = shift;
  my $secure = $self->secure();
  my $ports = $self->ports();
  my $url;

  $url = defined( $aes ) ?
    $secure ? 'wss://' : 'ws://' :
    $secure ? 'https://' : 'http://';
  $url .= $self->host() . ':';
  $url .= $ports->[ $secure ] . '/edwreader/';
  $url .= $aes if( defined( $aes ) );

  return $url;
}
#
# @brief Create a new JOB on Eulerian Data Warehouse Rest Platform.
#
# @param $self - Eulerian Data Warehouse Peer.
# @param $command - Eulerian Data Warehouse Command.
#

lib/API/Eulerian/EDW/Peer/Thin.pm  view on Meta::CPAN

# @param $self - API::Eulerian::EDW::Peer:Thin instance.
# @param $rc - Reply context of JOB creation.
#
# @return Reply context.
#
sub join
{
  my ( $self, $status ) = @_;
  my $json = API::Eulerian::EDW::Request->json( $status->{ response } );
  my $ws = API::Eulerian::EDW::WebSocket->new(
    $self->host(), $self->ports()->[ $self->secure() ]
    );
  my $url = $self->url( $json->{ aes } );
  $ws->{ _THIN } = $self;
  return $ws->join( $url, \&dispatcher );
}
#
# @brief Do Request on Eulerian Data Warehouse Platform.
#
# @param $self - Eulerian Data Warehouse Peer.
# @param $command - Eulerian Data Warehouse Command.



( run in 0.860 second using v1.01-cache-2.11-cpan-39bf76dae61 )