Stephen Adkins > App-Context > App::SharedDatastore

Download:
App-Context-0.968.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  1
Open  0
View/Report Bugs
Module Version: 10851   Source  

NAME ^

App::SharedDatastore - Interface for sharing data between processes

SYNOPSIS ^

    use App;

    $context = App->context();
    $sds = $context->service("SharedDatastore");
    $sds = $context->shared_datastore();

DESCRIPTION ^

A SharedDatastore service represents a single hash in which scalars or deep references may be stored (basically an MLDBM).

Class Group: SharedDatastore ^

The following classes might be a part of the SharedDatastore Class Group.

Class: App::SharedDatastore ^

A SharedDatastore service represents a single hash in which scalars or deep references may be stored. (They are automatically serialized for storage.)

It is essentially identical to an MLDBM, but it supports more implementations than an MLDBM (MLDBM is one of the implementations). It also does not support the "tie" interface.

Constructor Methods: ^

new()

The constructor is inherited from App::Service.

_init()

Public Methods: ^

set()

    * Signature: $sds->set($key, $value);
    * Signature: $sds->set($key, $value, $options);
    * Param:     $key               scalar
    * Param:     $value             scalar
    * Param:     $options           HASH (optional)
    * Return:    void

    $sds->set($key,$value);
    $options = {
        info_columns => [ "col1", "col2" ],
        info_values  => [ "value1", "value2" ],
    };
    $sds->set($key, $value, $options);

get()

    * Signature: $value = $sds->get($key);
    * Param:     $key               scalar
    * Return:    $value             scalar

    $value = $sds->get($key);

set_ref()

    * Signature: $sds->set_ref($keyref,$valueref);
    * Signature: $sds->set_ref($keyref,$valueref,$options);
    * Param:     $keyref       anything (ref or scalar)
    * Param:     $valueref     anything (ref or scalar)
    * Param:     $options      HASH (optional)
    * Return:    void

    $sds->set_ref($keyref, $valueref);
    $options = {
        info_columns => [ "col1", "col2" ],
        info_values  => [ "value1", "value2" ],
    };
    $sds->set_ref($keyref, $valueref, $options);

get_ref()

    * Signature: $valueref = $sds->get_ref($keyref);
    * Param:     $keyref       anything (ref or scalar)
    * Return:    $valueref     anything (ref or scalar)

    $valueref = $sds->get_ref($keyref);

serialize()

    * Signature: $blob = $sds->serialize($ref);
    * Return:    $ref          any (ref)
    * Return:    $blob         scalar (binary)

    $blob = $sds->serialize($ref);

deserialize()

    * Signature: $ref = $sds->deserialize($blob);
    * Param:     $blob         scalar (binary)
    * Return:    $ref          any (ref)


    $ref = $sds->deserialize($blob);

hashkey()

    * Signature: $hashkey = $sds->hashkey($keyref);
    * Return:    $keyref       any (ref or scalar)
    * Return:    $hashkey      scalar

    $hashkey = $sds->hashkey($keyref);

Protected Methods: ^

service_type()

Returns "SharedDatastore";

    * Signature: $service_type = App::SharedDatastore->service_type();
    * Param:     void
    * Return:    $service_type  string

    $service_type = $sds->service_type();

ACKNOWLEDGEMENTS ^

 * Author:  Stephen Adkins <spadkins@gmail.com>
 * License: This is free software. It is licensed under the same terms as Perl itself.

SEE ALSO ^

App::Context, App::Service

syntax highlighting: