(define (backend-nullwrap be) (make-storage (storage-max-block-size be) (storage-writable? be) (storage-unlinkable? be) (lambda (key data type) ; put! ((storage-put! be) key data type)) (lambda () ; flush! ((storage-flush! be))) (lambda (key) ; exists? ((storage-exists? be) key)) (lambda (key) ; get ((storage-get be) key)) (lambda (key) ; link! ((storage-link! be) key)) (lambda (key) ; unlink! ((storage-unlink! be) key)) (lambda (tag key) ; set-tag! ((storage-set-tag! be) tag key)) (lambda (tag) ; tag ((storage-tag be) tag)) (lambda () ; all-tags ((storage-all-tags be))) (lambda (tag) ; remove-tag! ((storage-remove-tag! be) tag)) (lambda (tag) ; lock-tag! ((storage-lock-tag! be) tag)) (lambda (tag) ; tag-locked? ((storage-tag-locked? be) tag)) (lambda (tag) ; unlock-tag! ((storage-unlock-tag! be) tag)) (lambda (command) ; admin! ((storage-admin! be) command)) (lambda () ; close! ((storage-close! be))))) (define (backend-limit-block-size be max-block-size) (make-storage (min max-block-size (storage-max-block-size be)) (storage-writable? be) (storage-unlinkable? be) (lambda (key data type) ; put! ((storage-put! be) key data type)) (lambda () ; flush! ((storage-flush! be))) (lambda (key) ; exists? ((storage-exists? be) key)) (lambda (key) ; get ((storage-get be) key)) (lambda (key) ; link! ((storage-link! be) key)) (lambda (key) ; unlink! ((storage-unlink! be) key)) (lambda (tag key) ; set-tag! ((storage-set-tag! be) tag key)) (lambda (tag) ; tag ((storage-tag be) tag)) (lambda () ; all-tags ((storage-all-tags be))) (lambda (tag) ; remove-tag! ((storage-remove-tag! be) tag)) (lambda (tag) ; lock-tag! ((storage-lock-tag! be) tag)) (lambda (tag) ; tag-locked? ((storage-tag-locked? be) tag)) (lambda (tag) ; unlock-tag! ((storage-unlock-tag! be) tag)) (lambda (command) ; admin! ((storage-admin! be) command)) (lambda () ; close! ((storage-close! be)))))