Protocol questions

Brian Aker brian at tangent.org
Sat Mar 1 18:23:53 UTC 2008


Hi!

On Mar 1, 2008, at 10:00 AM, Dustin Sallings wrote:

>  That sounds like stats.

Yes, we could do stats (aka fetch some minimal data)... but why not  
just push it each time out?

It would save a round trip, also, as the server is around longer these  
problems are just going to get more complex.

Cheers,
	-Brian

>
>
> -- Dustin Sallings (mobile)
>
> On Mar 1, 2008, at 6:13, Brian Aker <brian at tangent.org> wrote:
>
>> Hi!
>>
>> You know, I don't really need to have protocol auto-negotiation. In  
>> fact... I think it will just make the code a bit more obscure.
>>
>> What do I want?
>>
>> A way to know where memcached is listening for binary. For UDP I  
>> have the server now just defaulting to the same port as the TCP  
>> server. This makes it easy.
>>
>> To me the binary protocol is just an out of band protocol. I am  
>> going to be using it along side the text based protocol and just  
>> optimize around which works best at any point.
>>
>> The problem is... how do I find it?
>>
>> This is not a problem so much from the stand point of the  
>> developer, but from the stand point of the user.
>>
>> Keep things simple. The more someone has to learn about memcached  
>> (or in my case libmemcached) the more they are not working on what  
>> they really care about.
>>
>> Which is their own application!
>>
>> Lets keep this simple, lets find a way to keep both the code clean,  
>> and... lets find a way to let clients know "automagically" how to  
>> do things.
>>
>> So what do I propose? On connect the server send the client a  
>> packet which can be read in one read.
>>
>> Tell me:
>> 1) Is UDP on.
>> 2) Version
>> 3) Port for binary protocol
>> 4) Cache implementation.
>> 5) Total Cache size.
>>
>> etc...
>>
>> Cheers,
>>   -Brian
>>
>>
>>
>> On Feb 29, 2008, at 9:56 AM, Dustin Sallings wrote:
>>
>>>
>>> On Feb 28, 2008, at 19:56, Aaron Stone wrote:
>>>
>>>> +1 for keeping things on the same port because we have a magic  
>>>> byte to
>>>> differentiate protocols and to know when our server doesn't  
>>>> understand
>>>> the client's version, too!
>>>
>>>
>>>   Alright, since it keeps coming up, I branched on the train this  
>>> morning and started to do protocol autonegotiation.  It *almost*  
>>> works, but one of my client tests is failing.
>>>
>>> -- 
>>> Dustin Sallings
>>>
>>
>> --
>> _______________________________________________________
>> Brian "Krow" Aker, brian at tangent.org
>> Seattle, Washington
>> http://krow.net/                     <-- Me
>> http://tangent.org/                <-- Software
>> http://exploitseattle.com/    <-- Fun
>> _______________________________________________________
>> You can't grep a dead tree.
>>
>>
>>

--
_______________________________________________________
Brian "Krow" Aker, brian at tangent.org
Seattle, Washington
http://krow.net/                     <-- Me
http://tangent.org/                <-- Software
http://exploitseattle.com/    <-- Fun
_______________________________________________________
You can't grep a dead tree.




More information about the memcached mailing list