Re: Request to submit tokyo tyrant extension
| From: | Bertrand Mansion | Date: | Sun, 17 May 2009 18:58:59 +0000 |
| Subject: | Re: Request to submit tokyo tyrant extension | ||
| References: | 1 2 3 4 | Groups: | php.pecl.dev |
| Request: | Send a blank email to pecl-dev+get-6412@lists.php.net to get a copy of this message | ||
Le 17 mai 09 à 19:22, Mikko Koppanen a écrit :
On Sun, May 17, 2009 at 4:37 PM, Nymul Islam <nymul_islam@yahoo.com> wrote:Hi, Looks interesting. This is apparently missing some functionalities though: - other 'put' functions (putkeep, putcat, putsh1, putnr) - addint, adddouble, for which you might have to write a compatibility layer for non x64 systems - Table API including functions misc, setindex, genuid - Query API - and a few others. I also suggest that you stick with Tyrant function names when possible (no 'append', 'add', 'getMulti', 'keyExist'...) because I think it makes maintenance easier. FYI, I have also written a wrapper for Tokyo Tyrant, but it is in PHP, not an extension, it is complete and object oriented. It provides SPL ArrayAccess interface for the Table API and an Iterator interface (foreach) for iterinit/iternext. I will make the code public sometime next week. I would be happy to help with the extension if needed. It would be nice if we could see some code, indeed :) Thanks, -- Bertrand Mansion Mamasam Tel : +33 1 48 89 88 26 http://www.mamasam.comMy extension has very basic following functionalities like, PHP_ME(TokyoTyrant, __construct, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_CTOR)PHP_ME(TokyoTyrant, connect, NULL, ZEND_ACC_PUBLIC) PHP_ME(TokyoTyrant, put, NULL, ZEND_ACC_PUBLIC) PHP_ME(TokyoTyrant, putMulti, NULL, ZEND_ACC_PUBLIC) PHP_ME(TokyoTyrant, append, NULL, ZEND_ACC_PUBLIC) PHP_ME(TokyoTyrant, prepend, NULL, ZEND_ACC_PUBLIC) PHP_ME(TokyoTyrant, add, NULL, ZEND_ACC_PUBLIC) PHP_ME(TokyoTyrant, get, NULL, ZEND_ACC_PUBLIC) PHP_ME(TokyoTyrant, getMulti, NULL, ZEND_ACC_PUBLIC) PHP_ME(TokyoTyrant, close, NULL, ZEND_ACC_PUBLIC) PHP_ME(TokyoTyrant, del, NULL, ZEND_ACC_PUBLIC) PHP_ME(TokyoTyrant, stat, NULL, ZEND_ACC_PUBLIC) PHP_ME(TokyoTyrant, vsize, NULL, ZEND_ACC_PUBLIC) PHP_ME(TokyoTyrant, keyExist, NULL, ZEND_ACC_PUBLIC) PHP_ME(TokyoTyrant, fwmkeys, NULL, ZEND_ACC_PUBLIC) PHP_ME(TokyoTyrant, vanish, NULL, ZEND_ACC_PUBLIC)PHP_ME(TokyoTyrant, dbNumRecord, NULL, ZEND_ACC_PUBLIC)PHP_ME(TokyoTyrant, dbSize, NULL, ZEND_ACC_PUBLIC)//PHP_ME(TokyoTyrant, dbReplica, NULL, ZEND_ACC_PUBLIC) //PHP_ME(TokyoTyrant, dbRestore, NULL, ZEND_ACC_PUBLIC) //PHP_ME(TokyoTyrant, delOptimize, NULL, ZEND_ACC_PUBLIC)PHP_ME(TokyoTyrant, dbCopy, NULL, ZEND_ACC_PUBLIC) PHP_ME(TokyoTyrant, dbSync, NULL, ZEND_ACC_PUBLIC)PHP_ME(TokyoTyrant, dbIterInit, NULL, ZEND_ACC_PUBLIC) PHP_ME(TokyoTyrant, dbIterNext, NULL, ZEND_ACC_PUBLIC) $tt=new TokyoTyrant(); $tt->connect("192.168.0.22",1978); $tt->put("was","put my first value with tokyo tyrant");