logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Data::Session::ID::AutoIncrement - A persistent session manager

Author

       Data::Session was written by Ron Savage <ron@savage.net.au> in 2010.

       Home page: <http://savage.net.au/index.html>.

Case-Sensitive Options

       See "Case-sensitive Options" in Data::Session for important information.

Description

       Data::Session::ID::AutoIncrement allows Data::Session to generate session ids.

       To use this module do this:

       o Specify an id generator of type AutoIncrement, as Data::Session -> new(type => '... id:AutoIncrement
       ...')

Method: Generate()

       Generates the next session id, or dies if it can't.

       Returns the new id.

Method: Id_Length()

       Returns 32 because that's the classic value of the size of the id field in the sessions table.

       This can be used to generate the SQL to create the sessions table.

Method: New()

       Creates a new object of type Data::Session::ID::AutoIncrement.

       "new()"  takes a hash of key/value pairs, some of which might mandatory. Further, some combinations might
       be mandatory.

       The keys are listed here in alphabetical order.

       They are lower-case because they are (also) method names, meaning they can be called to set  or  get  the
       value at any time.

       o id_base => $integer
           Specifies the base value for the auto-incrementing sessions ids.

           This key is normally passed in as Data::Session -> new(id_base => $integer).

           Note: The first id returned by generate() is id_base + id_step.

           Default: 0.

           This key is optional.

       o id_file => $file_name
           Specifies the file name in which to save the 'current' id.

           This key is normally passed in as Data::Session -> new(id_file => $file_name).

           Note: The next id returned by generate() is 'current' id + id_step.

           Default: File::Spec -> catdir(File::Spec -> tmpdir, 'data.session.id').

           The  reason  Data::Session  ->  new(directory => ...) is not used as the default directory is because
           this latter option is for where the session files are stored  if  the  driver  is  File  and  the  id
           generator is not AutoIncrement.

           This key is optional.

       o id_step => $integer
           Specifies the amount to be added to the previous id to get the next id.

           This key is normally passed in as Data::Session -> new(id_step => $integer).

           Default: 1.

           This key is optional.

       o no_flock => $boolean
           Specifies  (no_flock  =>  1)  to  not  use  flock()  to  obtain a lock on $file_name (which holds the
           'current' id) before processing it, or (no_flock => 0) to use flock().

           This key is normally passed in as Data::Session -> new(no_flock => $boolean).

           Default: 0.

           This key is optional.

       o umask => $octal_value
           Specifies the mode to use when calling sysopen() on $file_name.

           This key is normally passed in as Data::Session -> new(umask => $octal_value).

           Default: 0660.

           This key is optional.

       o verbose => $integer
           Print to STDERR more or less information.

           Typical values are 0, 1 and 2.

           This key is normally passed in as Data::Session -> new(verbose => $integer).

           This key is optional.

Name

       Data::Session::ID::AutoIncrement - A persistent session manager

Support

       Log a bug on RT: <https://rt.cpan.org/Public/Dist/Display.html?Name=Data-Session>.

Synopsis

       See Data::Session for details.

See Also