Network Design: Difference between revisions

From PSwiki
Jump to navigation Jump to search
Magodra (talk | contribs)
Magodra (talk | contribs)
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Design ==
== Design ==
This page describe some of the sequences in the Network Design between components. For implementation details in the Server/Clients see the [[Detailed Network Design]] page.
===Classes===
===Classes===
<uml>
psMessageCracker <|- NPCAuthent
psMessageCracker <|- MsgStrings
</uml>
Each message from/to server/clients is based on the psMessageCracher that provide interfaces to pack/unpack and print the message.
<uml>
psMessageCracker *-- MsgEntry : msg
MsgHandler "1" *-- "0..N" Subscription : subscribers
MsgHandler "1" *-- "1" NetBase : netbase
MsgHandler "1" *-- "1" MsgQueue : queue
NetBase "1" *-- "0..N" psNetPacketEntry : packets
NetBase "1" *-- "1" NetPacketQueue : NetworkQueue
NetBase "1" *-- "0..N" NetPacketQueue : senders
NetBase "1" *-- "0..N" MsgQueue : inqueues
NetBase "1" *-- "0..N" psNetPacketEntry : awaitingack
psNetPacketEntry "1" *-- "1" psNetPacket : packet
class Connection {
  +uint32_t sequence
MsgHandler <|- ClientMsgHandler
ClientMsgHandler "1" *-- "1" OrderedMessageChannel : orderedMessages
OrderedMessageChannel "1" *-- "0..N" MsgEntry : pendingMessages
NetBase <|- psNetConnection
psNetConnection *-- MsgQueue : inQueue
psNetConnection *-- Connection : server
Subscription "1" *-- "1" iNetSubscriber : subscriber
MsgEntry *-- psMessageBytes : bytes
</uml>


===Sequences===
===Sequences===
Line 60: Line 26:
PSServer -\\ NPCClient : NPCList
PSServer -\\ NPCClient : NPCList
PSServer //- NPCClient : NPCReady
PSServer //- NPCClient : NPCReady
NPCClient ->> Admin : Load Completed
PSServer ->> Admin : Load Completed
== NPC Client Ready ==
== NPC Client Ready ==
loop
loop
Line 112: Line 80:


note over Client : there are more...
note over Client : there are more...
</uml>
==== Client Movement ====
<uml>
autonumber
participant User
participant NPCClient
participant Server
User ->> Client : KeyboardInput
Server //- Client : psDRMessage
Server -\\ Client : psDRMessage
</uml>
</uml>




[[Category:Engine documents]]
[[Category:Engine documents]] [[Category:NPCClient Design]]  [[Category:Server Design]]

Latest revision as of 18:52, 2 January 2013

Design

This page describe some of the sequences in the Network Design between components. For implementation details in the Server/Clients see the Detailed Network Design page.

Classes

Sequences

Start up NPCClient

Start up Client

Client Movement