On 07/26/2011 05:32 PM, Steve Angelovich wrote:
All,
Is there a technique or pattern to be able to associate some piece of
state information in the server with a specific client connection? How
are others handling this problem?
I've been able to structure almost all my services so no state on the
server is required but I have one case where want to be able to
associate some information with a specific client.
Thanks,
Steve
Hi,
From what I have understood, doing this is against thrift's design
principles, which are that thrift services are stateless.
Even though i agree with this principle, i nevertheless had to do the
same thing as you. In my case, the server code is in twisted python.
Normally, one thrift handler is instanciated, which serves all
connexions. I inherited a custom Thrift server protocol from
TTwisted.ThriftServerProtocol in which i redefine the connectionMade
method to instanciate a thrift handler *per connexion*.
All this is really twisted / thrift specific and is quite a hack but it
works. I don't know if you can do it in other languages or even in
regular python thrift. I can give you more details (or send you code
example) if you need so.
cheers,
--
Matthieu