[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