[Twisted-Python] Help implement protocol

jarrod roberson jarrod at vertigrated.com
Thu Aug 10 14:13:24 EDT 2006


On 8/4/06, Keith Cheung (張國良) <keith.cheung at lkmachinery.com.hk> wrote:
> Hi all,
>
> I want to implement some handshake protocol, say..
>
> 1. Client:      WhatDate
> 2. Server:      5Aug
> 3. Client:      WhatYear
> 4. Server:      2006
> 5. Client:      WhatTime
> 6. Server:      1005
>
> So, for the client:-  (pseudo code)
>         def connectionMade():
>                 send "WhatDate"
>                 state = askingForDate
>         def lineReceived(data):
>                 switch state:
>                         askingForDate:
>                                 date = data
>                                 send "WhatYear"
>                                 state = askingForYear
>                                 break
>                         askingForYear:
>                                 year = data
>                                 send = "WhatTime"
>                                 state = askingForTime
>                                 break
>                         askingForTime:
>                                 time = data
>                                 state = initialState
>                                 disconnect
>
> The switch case becomes gigantic as the protocol grow.  Instead of keeping states, are there better ways to implement?
>

I know this expands the scope of what you have to learn, but look at
State Machine Compiler.
You can create a single object, and then generate all the state
management code from SMC.



-- 
If you don't know what you want, you probably need a nap.




More information about the Twisted-Python mailing list