[Twisted-Python] session management
Greetings, I am new to this list and twisted. I have worked with some systems similar to twisted, notably Apache MINA. I am trying to find out how to set up my server to support sessions for multiple clients. Right now I am simply developing a telnet-like application to learn twisted but cannot figure out how to manage sessions for the remote clients. Thanks, Mark
Greetings,
I am new to this list and twisted. I have worked with some systems similar to twisted, notably Apache MINA. I am trying to find out how to set up my server to support sessions for multiple clients. Right now I am simply developing a telnet-like application to learn twisted but cannot figure out how to manage sessions for the remote clients.
Each Protocol instance stays alive for the lifetime of the connection it is matched to (via the transport). So just store attributes on the Protocol instance.
I figured as much that twisted supported the notion of sessions. Are there any examples that show me how to access them and add/remove/update attributes in the session? On Tue, Mar 30, 2010 at 6:42 PM, Itamar Turner-Trauring <itamar@itamarst.org> wrote:
Greetings,
I am new to this list and twisted. I have worked with some systems similar to twisted, notably Apache MINA. I am trying to find out how to set up my server to support sessions for multiple clients. Right now I am simply developing a telnet-like application to learn twisted but cannot figure out how to manage sessions for the remote clients.
Each Protocol instance stays alive for the lifetime of the connection it is matched to (via the transport). So just store attributes on the Protocol instance.
_______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
On 04:10 am, elihusmails@gmail.com wrote:
On Tue, Mar 30, 2010 at 6:42 PM, Itamar Turner-Trauring <itamar@itamarst.org> wrote:
Greetings,
I am new to this list and twisted. I have worked with some systems similar to twisted, notably Apache MINA. I am trying to find out how to set up my server to support sessions for multiple clients. Right now I am simply developing a telnet-like application to learn twisted but cannot figure out how to manage sessions for the remote clients.
Each Protocol instance stays alive for the lifetime of the connection it is matched to (via the transport). So just store attributes on the Protocol instance.
I figured as much that twisted supported the notion of sessions. Are there any examples that show me how to access them and add/remove/update attributes in the session?
Protocol instances are normal Python objects. You can use normal Python attributes on them in the normal way. For example: from twisted.internet.protocol import Protocol class Counter(Protocol): """ Keep track of how many times data is delivered over a connection. """ def connectionMade(self): self.count = 0 def dataReceived(self, bytes): self.count += 1 Jean-Paul
Thanks for the help, but how do I access the session? What would be the method call to put the data into a session for instance? On Wed, Mar 31, 2010 at 5:39 PM, <exarkun@twistedmatrix.com> wrote:
On 04:10 am, elihusmails@gmail.com wrote:
On Tue, Mar 30, 2010 at 6:42 PM, Itamar Turner-Trauring <itamar@itamarst.org> wrote:
Greetings,
I am new to this list and twisted. I have worked with some systems similar to twisted, notably Apache MINA. I am trying to find out how to set up my server to support sessions for multiple clients. Right now I am simply developing a telnet-like application to learn twisted but cannot figure out how to manage sessions for the remote clients.
Each Protocol instance stays alive for the lifetime of the connection it is matched to (via the transport). So just store attributes on the Protocol instance.
I figured as much that twisted supported the notion of sessions. Are there any examples that show me how to access them and add/remove/update attributes in the session?
Protocol instances are normal Python objects. You can use normal Python attributes on them in the normal way. For example:
from twisted.internet.protocol import Protocol
class Counter(Protocol): """ Keep track of how many times data is delivered over a connection. """ def connectionMade(self): self.count = 0
def dataReceived(self, bytes): self.count += 1
Jean-Paul
_______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
On 02:38 am, elihusmails@gmail.com wrote:
On Wed, Mar 31, 2010 at 5:39 PM, <exarkun@twistedmatrix.com> wrote:
On 04:10 am, elihusmails@gmail.com wrote:
On Tue, Mar 30, 2010 at 6:42 PM, Itamar Turner-Trauring <itamar@itamarst.org> wrote:
Greetings,
I am new to this list and twisted. �I have worked with some systems similar to twisted, notably Apache MINA. �I am trying to find out how to set up my server to support sessions for multiple clients. Right now I am simply developing a telnet-like application to learn twisted but cannot figure out how to manage sessions for the remote clients.
Each Protocol instance stays alive for the lifetime of the connection it is matched to (via the transport). So just store attributes on the Protocol instance.
I figured as much that twisted supported the notion of sessions. �Are there any examples that show me how to access them and add/remove/update attributes in the session?
Protocol instances are normal Python objects. �You can use normal Python attributes on them in the normal way. �For example:
� �from twisted.internet.protocol import Protocol
� �class Counter(Protocol): � � � �""" � � � �Keep track of how many times data is delivered over a connection. � � � �""" � � � �def connectionMade(self): � � � � � �self.count = 0
� � � �def dataReceived(self, bytes): � � � � � �self.count += 1
Thanks for the help, but how do I access the session? What would be the method call to put the data into a session for instance?
The protocol instance *is* the session (or, as I would normally say "the protocol instance has a one to one relationship with a connection", but I think that's what you mean when you say "the session"). You can define whichever methods and attributes you want. It's a regular Python object. All the regular stuff you know about Python objects applies. Jean-Paul
Thanks. My confusion is just in the naming of things... On Thu, Apr 1, 2010 at 11:09 PM, <exarkun@twistedmatrix.com> wrote:
On 02:38 am, elihusmails@gmail.com wrote:
On Wed, Mar 31, 2010 at 5:39 PM, <exarkun@twistedmatrix.com> wrote:
On 04:10 am, elihusmails@gmail.com wrote:
On Tue, Mar 30, 2010 at 6:42 PM, Itamar Turner-Trauring <itamar@itamarst.org> wrote:
Greetings,
I am new to this list and twisted. I have worked with some systems similar to twisted, notably Apache MINA. I am trying to find out how to set up my server to support sessions for multiple clients. Right now I am simply developing a telnet-like application to learn twisted but cannot figure out how to manage sessions for the remote clients.
Each Protocol instance stays alive for the lifetime of the connection it is matched to (via the transport). So just store attributes on the Protocol instance.
I figured as much that twisted supported the notion of sessions. Are there any examples that show me how to access them and add/remove/update attributes in the session?
Protocol instances are normal Python objects. You can use normal Python attributes on them in the normal way. For example:
from twisted.internet.protocol import Protocol
class Counter(Protocol): """ Keep track of how many times data is delivered over a connection. """ def connectionMade(self): self.count = 0
def dataReceived(self, bytes): self.count += 1
Thanks for the help, but how do I access the session? What would be the method call to put the data into a session for instance?
The protocol instance *is* the session (or, as I would normally say "the protocol instance has a one to one relationship with a connection", but I think that's what you mean when you say "the session"). You can define whichever methods and attributes you want.
It's a regular Python object. All the regular stuff you know about Python objects applies.
Jean-Paul
_______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
I found the following example answered my question: http://twistedmatrix.com/trac/wiki/FrequentlyAskedQuestions#HowdoImakeinputo... Good luck. Mark On Mar 31, 2010 12:11 AM, "Mark" <elihusmails@gmail.com> wrote: I figured as much that twisted supported the notion of sessions. Are there any examples that show me how to access them and add/remove/update attributes in the session? On Tue, Mar 30, 2010 at 6:42 PM, Itamar Turner-Trauring <itamar@itamarst.org> wrote:
Greetings...
participants (4)
-
exarkun@twistedmatrix.com
-
Itamar Turner-Trauring
-
Mark
-
Mark Bailey