---
name: "KiokuDB::Backend::Serialize"
section: "3pm"
platform: "linux"
package: "libkiokudb-perl"
version: "0.57-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/KiokuDB::Backend::Serialize"
---

# KiokuDB::Backend::Serialize(3pm)

Serialization role for backends

## NAME

KiokuDB::Backend::Serialize - Serialization role for backends

## VERSION

version 0.57

## SYNOPSIS

```
    package KiokuDB::Backend::Serialize::Foo;
    use Moose::Role;
    use Foo;
    use namespace::clean -except => 'meta';
    with qw(KiokuDB::Backend::Serialize);
    sub serialize {
        my ( $self, $entry ) = @_;
        Foo::serialize($entry)
    }
    sub deserialize {
        my ( $self, $blob ) = @_;
        Foo::deserialize($blob);
    }
```

## DESCRIPTION

This role provides provides a consistent way to use serialization modules to handle backend serialization.

See KiokuDB::Backend::Serialize::Storable, KiokuDB::Backend::Serialize::YAML and KiokuDB::Backend::Serialize::JSON for examples.

## REQUIRED METHODS

- serializate $entry

  Takes a KiokuDB::Entry as an argument. Should return a value suitable for storage by the backend.

- deserialize $blob

  Takes whatever `"serializate"` returned and should inflate and return a KiokuDB::Entry.

## AUTHOR

Yuval Kogman \<nothingmuch@woobling.org\>

## COPYRIGHT AND LICENSE

This software is copyright (c) 2014 by Yuval Kogman, Infinity Interactive.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
