wtp_init_machine.def
资源名称:gateway-1.2.1 [点击查看]
上传用户:gzpyjq
上传日期:2013-01-31
资源大小:1852k
文件大小:2k
源码类别:
手机WAP编程
开发平台:
WINDOWS
- /*
- * wtp_init_machine.def: macro call for generating WTP initiator state
- * machine. See the architecture document for guidance how to use and update
- * it.
- *
- * By Aarno Syv鋘en for Wapit Ltd.
- *
- * WTPRespMachine data structure includes current state of WTP responder state
- * machine for a specific transaction. This means all data needed to handle at
- * least two incoming events of a certain transaction. Its fields can be
- * grouped following way:
- *
- * General: a) wtp initiator machine state
- * b) tidnew flag, telling whether tid is wrapped up
- *
- * Fields telling the service required:
- * a) transaction class (is transaction confirmed or not)
- * b) user acknowledgement flag (do we wait for response
- * primitive of WTP user (for instance, WSP) or not)
- *
- * Machine identification: address four-tuple and transaction identifier
- *
- * Fields required for reliable transmission:
- * a) pointer to the timer of this machine in the timers list
- * b) counter for retransmissions
- * c) flag telling are we resending ack pdu doing tid verifica-
- * tion or not
- * d) packed invoke message, for greater effectivity
- */
- #if !defined(MACHINE)
- #error "Macro MACHINE is missing."
- #elif !defined(INTEGER)
- #error "Macro INTEGER is missing."
- #elif !defined(ENUM)
- #error "Macro ENUM is missing."
- #elif !defined(EVENT)
- #error "Macro EVENT is missing."
- #elif !defined(TIMER)
- #error "Macro TIMER is missing."
- #elif !defined(ADDRTUPLE)
- #error "Macro ADDRTUPLE is missing."
- #endif
- MACHINE(ENUM(state)
- INTEGER(tid) /* transaction identifier */
- ADDRTUPLE(addr_tuple)
- INTEGER(tidnew) /* tidnew flag */
- INTEGER(u_ack) /* user acknowledgement flag */
- EVENT(invoke) /* invoke datagram for resending */
- TIMER(timer)
- INTEGER(rcr) /* retransmission counter */
- INTEGER(tidok_sent) /* are we resending tid verification */
- INTEGER(rid) /* are we resending invoke */
- )
- #undef MACHINE
- #undef ENUM
- #undef EVENT
- #undef INTEGER
- #undef ADDRTUPLE
- #undef TIMER