[PATCH 00/13] Adding a cache subsystem



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]