亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? framework.txt

?? Diameter協(xié)議棧
?? TXT
字號(hào):
/*!\mainpage Framework API for Multithreading Task and Protocol State Machine\author Yoshihiro Ohba\date Created: December 1, 2003\date Updated: January 10, 2004\section IntroductionThis framework API provides a general way to implement communicationprotocols in multithreading environments.  The API contains threesub-APIs, i.e., job sub-API, task sub API and state machine sub-API.The job sub-API defines a generic processing element that can be usedfor any purpose.The task sub-API provides the functionality to execute jobs in amultithreading environment.The state machine sub-API provides the functionality to define andexecute state machines of any types.Any protocol implementation in Open Diameter should be written byusing this framework API in order to reduce development time andimprove manageability of the entire source tree.\section tagJob Job Sub-APIA job is an object that has an operation to execute.  The operationcan be executed by any entity including a task (\ref tagTask) or someother job).  AAA_Job is the base class for any job and provides thefollowing basic methods:- <b>Serve</b> method.  The operation that is executed by an executing entity.- <b>Schedule</b> method.  This method is used for requesting a jobexecuting entity to schedule the job so that the Serve() method willbe called by the entity.- <b>ExistBacklog</b> method.  This method indicates whether thereis any outstanding operation for this job.- <b>BacklogSize</b> method.  This method indicates the current numberof outstanding operations for this job.- <b>Name</b> method.  This method is used for setting or getting thename of the job.- <b>Data</b> method.  This method is used for setting or getting thedata of the job.- <b>Priority</b> method.  This method is used for setting or gettingthe priority of the job.  The priority is used for scheduling the job.- <b>Weight</b> method.  This method is used for setting or gettingthe weight of the job.  The weight is used for scheduling the job.\subsection tagQueueJob Queue JobA queue job is a job that has a queue to store entries of any type.The type of entries stored in the queue is specified as templateparameter.  The framework API defines two queue entry types asbuilt-in types, job and event, that are used by AAA_GroupedJob andAAA_StateMachineWithTask classes.  The queue job class supports FIFO,WFQ (Weighted Fair Queueing) and priority queueing disciplines byusing the two parameters "priority" and "weight".  An entry withhigher priority is always dequeued earlier than an entry with lowerpriority.  Among the entries with the same priority, an entry withhigher weight has a greater chance to be dequeued thatn an entry withlower weight.  The AAA_QueueJob class has the following methods inaddition to the methods derived from AAA_Job:- <b>Enqueue</b> method.  This method is used for storing an event tothe event queue.  Both blocking and non-blocking enqueue operationsare supported.- <b>Dequeue</b> method.  This method is used for obtaining an eventfrom the event queue.  Both blocking and non-blocking dequeueoperations are supported.- <b>Flush</b> method.  This method is used for flushing the eventqueue.- <b>Remove</b> method.  This method is used for removing a specifiedentry from the event queue.  In the case where multiple copies of thesame entry is enqueued, the all copies are removed.- <b>MaxSize</b> method.  This method is used for obtaining the maximumqueue size in the number of entries.\subsection tagGroupedJob Grouped JobA grouped job is a queue job that has a queue to store other jobs andhas a parent job for which it requests scheduling on behalf of otherjobs.  The grouped job is used for constucting a job hierarchy.AAA_SchedulingPolicy parameter is used for specifying the jobscheduling discipline.  The grouped job is used for job serializationand job scheduling.\subsection tagJobHandle Job HandleA job handle provides a safe way to deallocate memory for job objects,where memory deallocation can occur even in the constuctor of anobject of a class that creats a job.  When the handle is deleted, thehandle calls AAA_JobDeleter() function which performs a deleteoperation with treating the job as a shared object (i.e., if the jobis not deleted until the job is not owned by any objects.).\subsection tagQueueJob Queue Job\section tagTask Task Sub-APIA task is an active object that generates threads for executing joboperations.  It consists of one thread (referred to as the timerthread) that handles timer events and one or more thread (eachreferred to as a job serving thread) that execute job operations.  Atask has a root job for which Serve() method is called by the jobserving threads.  AAA_Task provides the following basic methods:- <b>Start</b> method.  This method is used for starting the task.- <b>Stop</b> method.  This method is used for stopping the task.Jobs are not allowed to enter the task storage. Jobs that have beenalready entered in the task storage will be served.- <b>ScheduleTimer</b> method.  This method is used for scheduling atimer event.  The timer event will be served by the timer thread.- <b>CancelTimer</b> method.  This method is used for canceling atimer event that has been scheduled by ScheduleTimer method.\image html task-1.gif "Figure 1: AAA_Task"\section tagStateMachine State Machine Sub-APIA state machine is a general component to implement arbitrarycommunication protocols.  A state machine consists of a statetransition table and a set of state variables.\subsection tagStateTable State TableA state transition table (or simply a state table in this document)defines the behavior of the target protocol.  Each entry of a statetable is defined as AAA_StateTableEntry and has the followingattributes:- <b>Current State</b> A 32-bit unsigned integer that represents thestate where the state machine stayed immediately before receiving the event.- <b>Event</b> A 32-bit unsigned integer that represents an event the state machine is allowed to receive in the current state.- <b>Next State</b>  A 32-bit unsigned integer that represents thenext state to which the state machine moves after receiving the event.- <b>Action</b> A functor that contains the operation performed whenthe state machine accepts the event.  An action can take a singleargument of arbitrary type.  Action is defined as a template classAAA_Action.  An example action class definition is shown below.\code/// Action class for EAP. class EapAction : public AAA_Action<EapSession>{ public:  virtual void operator()(EapSession&) {} protected:  EapAction() {}  virtual ~EapAction() {}};\endcode- <b>isWildcardEvent</b> A boolean variable that indicates whether theentry accepts any event.In addition, one of the Current State values in the state table ischosen as the <b>Initial State</b> where the state machine starts itsoperation.The base class for state table is AAA_StateTable.State machines objects of the same class should share the same statetable objects to save the memory resources.  For this purpose, it isbetter to define state table classes as singletons.Figure 2 shows an example state table.  An event "*" indicates anwildcard event which matches any event.  An action "null action"indicates an action that performs no operation.\image html statemachine-1.gif "Figure 2: State Table"AAA_StateTable class provides the following methods for tablemanipuration:- <b>AddStateTableEntry</b> method.  This method is used for adding astate table entry with a specific event.- <b>AddWildcardStateTableEntry</b> method.  This method is used foradding a state table entry with a wildcard event.- <b>InitialState</b> method.  This method is used for setting andgetting the initial state.- <b>FindStateTableEntry</b> method.  This method is used for findinga state table entry that matches a particular current state and anevent.\subsection tagStateMachine State MachineA state machine has the following basic methods:- <b>Start</b> method.  This method is used for starting the state machine.- <b>Stop</b> method.  This method is used for stopping the state machine.- <b>Restart</b> method.  This method is used for restarting the state machine.- <b>Running</b> method.  This method indicates whether the state machine has been started and not been stopped.- <b>Event</b> method.  This method is used for passing event to thestate machine.  Within this method, the state table is looked up andthe action corresponding to the current state and the received eventwill be executed.The base state machine class is defined as AAA_StateMachineBase.Other state machine classes are derived from the base class anddefined as template class in which the action argument type is used asthe template parameter.  The base class of templated state machine isAAA_StateMachine<ARG>.\subsection tagStateMachineWithTimer State Machine With Timer HandlingA state machine with timer is a state machine that is capable ofgenerating and deleting timer events.  Timer events generated by the astate machine with timer will be bound to an ACE_Reactor, which istypically a reactor created by the timer thread in a task (\reftagTask).Timer events are categorized into timer types (the default timer typeis zero(0)).  The state machine stores at most one timer event foreach timer type.  A unique timer type is allocated by using timer typeallocator (defined in AAA_TimerTypeAllocator_S andAAA_TimerTypeAllocator classes).The AAA_StateMachineWithTimer<ARG> is the base class for state machinewith timer and provides the following methods:- <b>ScheduleTimer</b> method.  This method is used for scheduling atimer event.- <b>CancelTimer</b> method.  This method is used for scheduling atimer event.A sample program that uses the framework API is shown below.\include diameter_eap_server_fsm.hxx\include diameter_eap_server_fsm.cxx\include server_test.cxx*/

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲综合免费观看高清完整版 | 福利91精品一区二区三区| 亚洲国产精品传媒在线观看| 欧美在线观看一二区| 狠狠色狠狠色综合| 一区二区三区欧美视频| 久久综合九色综合欧美98| 在线观看网站黄不卡| 国产成人在线色| 日韩电影在线免费看| 亚洲欧美一区二区在线观看| 日韩欧美国产精品| 欧美伊人久久久久久久久影院 | 丝袜美腿亚洲综合| 国产精品女上位| 精品毛片乱码1区2区3区| 欧美老年两性高潮| 91老师片黄在线观看| 国产成人av电影在线观看| 男男成人高潮片免费网站| 亚洲一区二区av在线| 综合久久久久综合| 国产精品视频你懂的| 久久亚洲一区二区三区明星换脸| 欧美精品乱人伦久久久久久| 色婷婷精品大在线视频| 99久久99久久精品国产片果冻| 国产在线精品一区二区夜色| 丝袜a∨在线一区二区三区不卡| 亚洲欧美国产77777| 国产精品不卡视频| 国产精品另类一区| 国产精品久久久久aaaa| 久久精品亚洲麻豆av一区二区| 日韩丝袜美女视频| 日韩欧美综合在线| 91精品国产综合久久精品图片| 欧美三级中文字幕在线观看| 色综合婷婷久久| 色偷偷一区二区三区| 一本一道综合狠狠老| 在线日韩av片| 欧美午夜精品久久久久久超碰| 一本大道av伊人久久综合| 91麻豆国产精品久久| 91麻豆免费看| 欧美自拍偷拍一区| 91麻豆精品国产自产在线 | 国内精品国产成人国产三级粉色 | 99r国产精品| 91免费看片在线观看| 色欧美片视频在线观看| 在线观看一区二区视频| 精品视频在线看| 91精品在线麻豆| 精品欧美黑人一区二区三区| 久久久久久久综合狠狠综合| 国产精品久久久久久久久图文区 | 777午夜精品视频在线播放| 精品污污网站免费看| 日韩视频在线一区二区| 国产片一区二区| 亚洲人成网站影音先锋播放| 亚洲午夜在线电影| 美女网站视频久久| 国产盗摄视频一区二区三区| 色拍拍在线精品视频8848| 欧美久久高跟鞋激| 精品国产一区久久| 亚洲色图丝袜美腿| 视频在线观看国产精品| 国产一区二区精品在线观看| 99久久久无码国产精品| 欧美日本免费一区二区三区| 亚洲精品一区二区三区影院| 亚洲婷婷综合久久一本伊一区| 亚洲成人免费视频| 国内偷窥港台综合视频在线播放| 91亚洲国产成人精品一区二区三 | 久88久久88久久久| 91在线一区二区| 欧美一区二区福利视频| 国产精品欧美精品| 日本亚洲一区二区| av资源网一区| 日韩欧美在线123| 日韩一区欧美小说| 精品一区二区三区免费毛片爱| av亚洲产国偷v产偷v自拍| 在线播放亚洲一区| 国产精品美女久久久久久2018| 亚洲va欧美va人人爽午夜| 国产寡妇亲子伦一区二区| 欧美性猛交xxxx黑人交| 国产日韩欧美一区二区三区综合| 亚洲线精品一区二区三区八戒| 精品一二线国产| 欧美日韩aaaaaa| 亚洲欧美在线视频| 国产高清精品在线| 555www色欧美视频| 国产精品免费看片| 久久99热狠狠色一区二区| 日本乱人伦一区| 欧美国产日韩亚洲一区| 蜜臀a∨国产成人精品| 91国产福利在线| 国产精品理论片| 国产精品1024| 精品电影一区二区| 秋霞影院一区二区| 欧美视频日韩视频在线观看| 国产精品久久久一区麻豆最新章节| 麻豆精品国产传媒mv男同| 欧美网站大全在线观看| 成人欧美一区二区三区小说| 国产高清精品在线| 久久先锋资源网| 毛片一区二区三区| 91精品国产手机| 亚洲小说欧美激情另类| 91久久精品一区二区| 亚洲靠逼com| 99视频国产精品| 国产精品免费网站在线观看| 粉嫩av一区二区三区| 久久久久久久久久看片| 精品一区二区在线观看| 欧美一区二区三区的| 天堂va蜜桃一区二区三区| 欧美精品v国产精品v日韩精品| 亚洲成人激情综合网| 欧美午夜精品一区二区三区| 一区二区视频免费在线观看| 在线观看不卡一区| 亚洲午夜免费电影| 欧美日韩一区二区三区高清 | 日韩视频在线你懂得| 日韩经典中文字幕一区| 欧美日韩成人激情| 男人操女人的视频在线观看欧美| 91精品国产91久久久久久一区二区| 香蕉乱码成人久久天堂爱免费| 欧美视频在线观看一区| 午夜精品福利一区二区三区蜜桃| 色八戒一区二区三区| 亚洲电影你懂得| 56国语精品自产拍在线观看| 麻豆精品久久久| 国产欧美日韩综合| aaa亚洲精品| 亚洲丶国产丶欧美一区二区三区| 91精品国产品国语在线不卡| 日本在线不卡一区| 国产视频亚洲色图| 99re热这里只有精品视频| 亚洲一二三区不卡| 欧美本精品男人aⅴ天堂| 国产酒店精品激情| 国产精品欧美精品| 欧美三级韩国三级日本一级| 青青青伊人色综合久久| 精品国产乱码久久久久久闺蜜| 国产精品主播直播| 日韩毛片精品高清免费| 欧美色视频在线观看| 欧美aaaaaa午夜精品| 中文字幕乱码久久午夜不卡| 在线看日韩精品电影| 美女免费视频一区二区| 国产欧美日韩视频在线观看| 日本电影欧美片| 国内成人免费视频| 中文字幕综合网| 91精品国产一区二区三区| 成人午夜免费视频| 亚洲成人黄色小说| 欧美国产欧美综合| 久久香蕉国产线看观看99| 91老司机福利 在线| 久久99精品久久久久久动态图| 国产精品免费丝袜| 欧美一区二区三区免费视频 | 成人午夜在线视频| 偷拍亚洲欧洲综合| 日本一区二区三区高清不卡 | 欧美高清视频一二三区 | 欧美一区二区三区四区高清| 国产盗摄精品一区二区三区在线| 一区二区三区欧美在线观看| 久久久久国产精品麻豆ai换脸 | 高清av一区二区| 午夜欧美在线一二页| 久久精品欧美一区二区三区不卡| 欧美无乱码久久久免费午夜一区| 国产一区二区三区蝌蚪| 天堂精品中文字幕在线| 亚洲欧美视频在线观看| 久久久www成人免费毛片麻豆 | 93久久精品日日躁夜夜躁欧美|