Scroll to navigation

Data::Session::ID::UUID16(3pm) User Contributed Perl Documentation Data::Session::ID::UUID16(3pm)

NAME

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

Synopsis

See Data::Session for details.

Case-sensitive Options

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

To use this module do this:

Description

Data::Session::ID::UUID16 allows Data::Session to generate session ids using Data::UUID.

Method: new()

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

"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.

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.

Method: generate()

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

The algorithm is Data::UUID -> new -> create_bin.

Returns the new id.

Note: A UUID16 hex string is not necessarily a valid UTF8 string, so you can't use UUID16 to generate ids which are to be stored in a Postgres table if the database was created like this (in psql):

        create database a_db owner an_owner encoding 'UTF8';

Warning: This also means you should never try to use 'driver:File;id:UUID16;...', since the ids generated by this module would rarely if ever be valid as a part of a file name.

Method: id_length()

Returns 16 because that's the number of bytes in a UUID16 digest.

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

See scripts/digest.pl.

Support

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

Author

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

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

Copyright

Australian copyright (c) 2010, Ron Savage.

        All Programs of mine are 'OSI Certified Open Source Software';
        you can redistribute them and/or modify them under the terms of
        The Artistic License, a copy of which is available at:
        http://www.opensource.org/licenses/index.html
2023-02-12 perl v5.36.0