Event Handling Design: Difference between revisions

From PSwiki
Jump to navigation Jump to search
Magodra (talk | contribs)
Created page with "== Event Handling == <uml> ServerClass -> MessageHandler : Publish </uml> Category:Engine documents Category:NPCClient Design Category:Server Design"
 
Magodra (talk | contribs)
 
(16 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Event Handling ==
== Event Handling ==
Event handling is a speciall case of the [[Detailed Network Design]] where messages are published and received inside the server.
=== Classes ===
{|
|
A Message handler has a list of subscriptions.
|
<uml>
class MsgHandler {
  +void Publish()
}
MsgHandler "1" *-- "0..N" Subscription : subscribers
Subscription "1" *-- "1" iNetSubscriber : subscriber
class MsgEntry {
  +void Reset()
}
class iNetSubscriber {
  +{abstract} bool Verify()
  +{abstract} void HandleMessage()
}
</uml>
|
Each server class inherit from the iNetSubscriber.
|


<uml>
<uml>
class iNetSubscriber {
  +{abstract} bool Verify()
  +{abstract} void HandleMessage()
}
note right: Abstract base class for message recipients.
iNetSubscriber <|-- MessageManagerBase
MessageManagerBase <|-- MessageManager
MessageManager <|-- ServerClass
note "Example classes from the server" as Note1
ServerClass .. Note1
class MessageManagerBase {
  +bool Verify()
  +bool HandleMessage()
}


ServerClass -> MessageHandler : Publish
class MessageManager<SubClass> {
  +void Subscribe()
  +void Unsubscribe()
}
 
class ServerClass {
  +void HandleTestEvent()
}
 
 
</uml>
 
|}
 
=== Sequences ===
 
<uml>


ServerClass -> ServerClass : Subscribe
note right : Subscribe to TestEvent
activate ServerClass
deactivate ServerClass
ServerClass -> MsgHandler : Publish
note right : Publish the TestEvent
activate ServerClass
activate MsgHandler
loop All Subscriptions
MsgHandler -> MsgEntry : Reset
activate MsgEntry
MsgEntry --> MsgHandler
deactivate MsgEntry
MsgHandler -> ServerClass : Verify
activate ServerClass
ServerClass --> MsgHandler
deactivate ServerClass
MsgHandler -> ServerClass : HandleMessage
activate ServerClass
ServerClass -> ServerClass : HandleTestEvent
activate ServerClass
ServerClass --> MsgHandler
deactivate ServerClass
deactivate ServerClass
end
MsgHandler --> ServerClass
deactivate MsgHandler
deactivate ServerClass
</uml>
</uml>



Latest revision as of 17:55, 9 April 2013

Event Handling

Event handling is a speciall case of the Detailed Network Design where messages are published and received inside the server.

Classes

A Message handler has a list of subscriptions.

Each server class inherit from the iNetSubscriber.

Sequences