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
Class: App::SharedDatastore::Repository
Class: App::SharedDatastore::IPCMM
Class: App::SharedDatastore::DBI
Class: App::SharedDatastore::MLDBM
Class: App::SharedDatastore::ApacheSession
Class: App::SharedDatastore::IPCShareLite
Class: App::SharedDatastore::IPCShareable
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.