From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/75105 Path: news.gmane.org!not-for-mail From: Lars Magne Ingebrigtsen Newsgroups: gmane.emacs.gnus.general Subject: Re: gnus-sync ideas Date: Thu, 16 Dec 2010 17:08:07 +0100 Organization: Programmerer Ingebrigtsen Message-ID: References: <87zks9ecf7.fsf@dod.no> <87r5djxahm.fsf_-_@lifelogs.com> <871v5iviaq.fsf@lifelogs.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1292515854 21458 80.91.229.12 (16 Dec 2010 16:10:54 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Thu, 16 Dec 2010 16:10:54 +0000 (UTC) To: ding@gnus.org Original-X-From: ding-owner+M23460@lists.math.uh.edu Thu Dec 16 17:10:50 2010 Return-path: Envelope-to: ding-account@gmane.org Original-Received: from util0.math.uh.edu ([129.7.128.18]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1PTGPm-00020w-TS for ding-account@gmane.org; Thu, 16 Dec 2010 17:10:47 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.math.uh.edu) by util0.math.uh.edu with smtp (Exim 4.63) (envelope-from ) id 1PTGPE-0002XP-AQ; Thu, 16 Dec 2010 10:10:12 -0600 Original-Received: from mx1.math.uh.edu ([129.7.128.32]) by util0.math.uh.edu with esmtps (TLSv1:AES256-SHA:256) (Exim 4.63) (envelope-from ) id 1PTGPC-0002X8-To for ding@lists.math.uh.edu; Thu, 16 Dec 2010 10:10:10 -0600 Original-Received: from quimby.gnus.org ([80.91.231.51]) by mx1.math.uh.edu with esmtp (Exim 4.72) (envelope-from ) id 1PTGP8-0000y0-6D for ding@lists.math.uh.edu; Thu, 16 Dec 2010 10:10:10 -0600 Original-Received: from lo.gmane.org ([80.91.229.12]) by quimby.gnus.org with esmtp (Exim 4.72) (envelope-from ) id 1PTGP7-0003Vi-FY for ding@gnus.org; Thu, 16 Dec 2010 17:10:05 +0100 Original-Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1PTGP7-0001Ye-Cw for ding@gnus.org; Thu, 16 Dec 2010 17:10:05 +0100 Original-Received: from cm-84.215.34.171.getinternet.no ([84.215.34.171]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 16 Dec 2010 17:10:05 +0100 Original-Received: from larsi by cm-84.215.34.171.getinternet.no with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 16 Dec 2010 17:10:05 +0100 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: ding@gnus.org Original-Lines: 36 Original-X-Complaints-To: usenet@dough.gmane.org X-Gmane-NNTP-Posting-Host: cm-84.215.34.171.getinternet.no Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAFVBMVEXiw/HVteT11/xpSnq4 mMfKqdief6yJF3H7AAACZUlEQVQ4jV1Uy3LbMAwENVbORCP6TCtN740zOkcNyHPUkLp3JPP/P6EL Wn4kGGtkCQR3sQuKyrFGKWUppUcc+hrEb2SJW5dD5HSfKMMaSxGRWJpdlpyTSJASyIyGXc54NfOM m0SRzNnSuoacHSO63nsiJ0kAWCitKWMFNnhflMKgb8syEI/uX8fWcO6mvZu4BnVMeXwcH+duLcv+ 9J7iSVLmkZHo/z69PS2/Psr7/ndaPl9eQLcBZ2rX/fDw6P6k/ek1LJ/y2m8JsrjjZ/yhH8mQ9Xjy O6LjLcoWy/G4FOqv4fVCJ9iFdkyyymWlBO1cIySm+bLRsECxnEPKUyoxEmqJAG8suoPOtp1UOoAP G94lFjUGWlGFP2gd+ca4sgYVlKiUWFZJ7Cye7ZSDdRButrDvzraNN1ELzgcCySJwykmeGMCprJHJ gEBDLdF9jWqlVqrh5zZP8dIt9eYbht8qgGHI70wO7EROEuOaJHSJPlrHLqUJKmGOgoJnl+dMF7D+ O7iapH98o2vINpdWNhLYgEXS+ANjCkfcRP3zRsV/ab6nZqdyQ2mZGtL5rhohcTYJm8XA4Em6JHAX qTlcu1Lw5sbqYCxP0E8E82m9ZkyKcj8+X4Kmrk4xdFGJk2DuS54yZOpstbVlBj0HWryrrfY/yVR3 mJPqpB7ABKHbfAx6cHDVezmDQ1XHxhEMxcYPFVXLM3i2VsFrnOnchPamOSdaLbsmnpurgnhrmEpc RTByUSY9/HlSk3V4/Vb0rOerr4r4apRcBnoot8AJoXpMtCt8ETAOsqoDWAv9z6e+q6owPhJ5xtQt /wHFnNhygOOVOgAAAABJRU5ErkJggg== Mail-Copies-To: never X-Now-Playing: Electrelane's _Singles, B-Sides & Live_: "I Want to be the President" User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/24.0.50 (gnu/linux) Cancel-Lock: sha1:kVjpXS1tOkN0CFmjYgMYoz5VSWU= X-Spam-Score: -1.9 (-) List-ID: Precedence: bulk Xref: news.gmane.org gmane.emacs.gnus.general:75105 Archived-At: Ted Zlatanov writes: > So, data-sync.el would let you: > > 1) choose a storage backend, which can be many things but will at least > have the choice to be a file (which, of course, can use Tramp). > > 2) query a key and find out the latest value, data type, CAS key, and > timestamp (you'd use the CAS key in the CAS ops below) > > 3) set a key with a data type (unconditionally or CAS) > > 4) delete a key (unconditionally or CAS) > > 5) merge data into a key with a data type and a policy (overwrite, > prepend, append, set-if-present, set-if-absent) (unconditionally or CAS) > > 6) do all of the above as a batch If there's one thing that the nnimap experience shows, then it's that round trips kill you. So ideally the client would issue just one command, like GIVE-ME-DATA-CHANGED-SINCE 12167121621 and then we'd just get a stream of data back. So all CRUD operations to the store has to be timestamped and categorised for this to be fast, I think. As for how to actually store things like, say, the group topics... I don't really have a clear idea how that would actually look... -- (domestic pets only, the antidote for overdose, milk.) larsi@gnus.org * Lars Magne Ingebrigtsen