(defsystem #:memcache
:version "0.5.0"
:author "Kevin Rosenberg <kevin@rosenberg.net>, quasi <quasi@cleartrip.com>"
- :depends-on (usocket kmrcl)
+ :depends-on (usocket kmrcl cl-who)
:components ((:module memcache
:serial t
:components
(:td (format stream "Current items stored in server")) (:td (format stream "~a" (memcache::mc-stats-curr-items stats))))
(:tr
(:td (format stream "Current items total")) (:td (:b (format stream "~a" (memcache::mc-stats-curr-items-total stats)))))
- (:tr
- (:td (format stream "Current bytes used by server to store items")) (:td (format stream "~a MB" (float (/ (memcache::mc-stats-bytes stats) 1048576)))))
(:tr
(:td (format stream "Number of open connections")) (:td (format stream "~a" (memcache::mc-stats-curr-connections stats))))
(:tr
:author "Kevin M. Rosenberg <kevin@rosenberg.net>"
:version "1.0"
:licence "BSD"
- :depends-on (memcache cl-store flexi-streams zlib salza2 chipz)
+ :depends-on (memcache cl-store flexi-streams salza2 chipz)
:components ((:module src
:serial t
:components
--- /dev/null
+;; -*- Mode: Common-Lisp -*-
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; FILE IDENTIFICATION
+;;
+;; Name: compress.lisp
+;; Purpose: Uses zlib to compress and uncompress vectors of octets
+;; Author: Kevin Rosenberg
+;; Date Started: July 2011
+;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+(in-package #:memstore)
+
+;; KMR: zlib gives compression errors on random tests:
+;; indices outside of input array size
+;; Using salza2 as default compressor
+(defun compress (data)
+ (let ((comp (salza2:compress-data
+ data
+ (make-instance 'salza2:zlib-compressor))))
+ (values comp (length comp))))
+
+;; KMR: zlib appears to works fine with salza2 zlib compressor, but
+;; moving to chipz as default decompressor as appears better supported
+;;(defun uncompress-zlib (data)
+;; (zlib:uncompress data))
+
+(defun uncompress (data)
+ (chipz:decompress nil 'chipz:zlib data))