[PATCH 00/13] Adding a cache subsystem
- From: "Juan A. Suarez Romero" <jasuarez igalia com>
- To: grilo-list gnome org
- Subject: [PATCH 00/13] Adding a cache subsystem
- Date: Tue, 15 Feb 2011 19:07:06 +0100
Hi.
This new set of patches adds a new feature to Grilo: the choice of caching
media content.
This work is motivated by a previous work Jussi did in UPnP (which was not
merged at the end).
http://mail.gnome.org/archives/grilo-list/2011-January/msg00198.html
Roughly speaking, this set adds a new object, GrlMediaCache, a cache system
that both clients and plugins can use to cache GrlMedia content and to retrieve
it later.
Some of the features it has are:
- Cache can be temporal (default) or persistent, allowing applications to
recover later the cached content.
- Allows to create relations parent-children in the cached content.
- Allows to perform flexible searches in cached content, using a syntax similar
to SQL (see documentation for more information).
As an example of the search, one can search all cached content that contains a
specific string in the "artist" field, or content with a duration greater than
a specific value (or a combination of both).
While current API is problably enough for most use-cases, I don't mind to
extend it if its worth. The point is that I tried to keep it as simple as
possible.
Finally, I started this work as part of Grilo core, but later (last patch) I
separated it from the core (as GrlNet utility is). Rationale is that while it
can be very useful, I think it is not an essential part of the core, and also
it introduces a new dependency (sqlite3) that I would like to keep separated
from the core.
As usual, comments are welcomed.
J.A.
Juan A. Suarez Romero (13):
cache: Add cache subsystem
cache: Create persistent named cache
cache: Make cache truly temporary
cache: Add function to remove persistent cache
cache: Load persistent cache
cache: Specify special keys when creating a cache
cache: Add API to search content in cache.
cache: Use transactions to perform cache changes
cache: Initialize log domain
cache: Add function to remove content from cache
cache: Get rid of dispose() method
cache: Document cache API
cache: Move cache for its own library.
Makefile.am | 4 +
configure.ac | 11 +
grilo-media-cache-0.1.pc.in | 15 +
grilo-media-cache-uninstalled.pc.in | 15 +
libs/Makefile.am | 6 +-
libs/media-cache/Makefile.am | 71 +++
libs/media-cache/grl-media-cache.c | 943 +++++++++++++++++++++++++++++++++++
libs/media-cache/grl-media-cache.h | 114 +++++
src/grl-error.h | 4 +-
9 files changed, 1181 insertions(+), 2 deletions(-)
create mode 100644 grilo-media-cache-0.1.pc.in
create mode 100644 grilo-media-cache-uninstalled.pc.in
create mode 100644 libs/media-cache/Makefile.am
create mode 100644 libs/media-cache/grl-media-cache.c
create mode 100644 libs/media-cache/grl-media-cache.h
--
1.7.4
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]