Diff for /loncom/configuration/Configuration.pm between versions 1.8 and 1.9

version 1.8, 2003/02/03 18:03:52 version 1.9, 2003/04/09 00:52:37
Line 66  sub read_conf Line 66  sub read_conf
     return ($perlvarref);      return ($perlvarref);
   }    }
   
   #---------------------- Subroutine read_hosts: Read a LON-CAPA hosts.tab
   # formatted configuration file.
   #
   my $RequiredCount = 5; # Required item count in hosts.tab.
   my $DefaultMaxCon = 5; # Default value for maximum connections.
   my $DefaultIdle   = 1000;       # Default connection idle time in seconds.
   my $DefaultMinCon = 0;          # Default value for minimum connections.
   sub read_hosts {
       my $Filename = shift;
       my %HostsTab;
       
       open(CONFIG,'<'.$Filename) or die("Can't read $Filename");
       while (my $line = <CONFIG>) {
    my @items = split(/:/, $line);
    if (scalar @items == $RequiredCount) { # Have only all required items:
       $items[$RequiredCount] = $DefaultMaxCon;
    }
    if(scalar @items == $RequiredCount + 1) { # Have up through maxcon.
       $items[$RequiredCount+1] = $DefaultIdle;
    }
    if(scalar @items == $RequiredCount + 2) { # Have up through idle.
       $items[$RequiredCount+2] = $DefaultMinCon;
    }
    {
       my @list = @items; # probably not needed but I'm unsure of 
    # about the scope of item so...
       $HostsTab{@list[0]} = \@list; 
    }
       }
       close(CONFIG);
       my $hostref = \%HostsTab;
       return ($hostref);
   }
   
   1;
 __END__  __END__
   
 =pod  =pod
Line 80  B<LONCAPA::Configuration> - configuratio Line 115  B<LONCAPA::Configuration> - configuratio
  use LONCAPA::Configuration;   use LONCAPA::Configuration;
   
  LONCAPA::Configuration::read_conf('loncapa.conf');   LONCAPA::Configuration::read_conf('loncapa.conf');
    LONCAPA::Configuration::read_hosts(filename);
   
 =head1 DESCRIPTION  =head1 DESCRIPTION
   
 Many different parts of the LON-CAPA software need to read in the  Many different parts of the LON-CAPA software need to reads in the
 machine-specific configuration information.  These included scripts  machine-specific configuration information.  These included scripts
 controlling the TCP/IP layer (e.g. F<lonc> and F<lond>), testing scripts  controlling the TCP/IP layer (e.g. F<lonc> and F<lond>), testing scripts
 (e.g. test_weblayer.pl and sqltest.pl), and utility scripts  (e.g. test_weblayer.pl and sqltest.pl), and utility scripts
Line 110  given toward the B<last> file name proce Line 146  given toward the B<last> file name proce
   
 =back  =back
   
   =over 4
   =item $hostinfo = LONCAPA::Configuration::read_hosts(filename);
   
     The parameter is the name of a file in hosts.tab form.  The file is read and
   parsed.  The return value is a reference to a hash.   The hash is indexed by
   host and each element of the has is in turn a reference to an anonymous list
   containing:
   
   =over 4
   =item host
      The loncapa hostname of the system. (This may be different than the 
      network hostname, see below).
   =item domain
      The loncapa domain in which the host lives.
   =item role
       The role of the system, currently allowed values are access for an
       access server and library for a library server.
   =item dns
       The DNS hostname of the system. 
   =item ip
       The IP address corresponding to the dns hostname of the system.
   =item maxconn 
       The maximum number of connections this system should hold to the
       target system's lond.  If the file has no value, a default is supplied
       here by the function.
   =item idle
       The number of seconds the oldest idle connection can be idle before it
       should be adaptively dropped.  If the file has no value, a default
       is supplied by the function.
   =item mincon
       The minimum number of connections this system should hold to the
       target system's lond.  If the file has no value, a default is supplied by
       the funciton.
   
   =back
   
   =back
   
   
   
 =head1 AUTHORS  =head1 AUTHORS
   
 This library is free software; you can redistribute it and/or  This library is free software; you can redistribute it and/or

Removed from v.1.8  
changed lines
  Added in v.1.9


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>