Solipsis Peer / Navigator software architecture
Global Architecture Peer Navigator Peer Navigator Peer Navigator P2P Network
Software architecture Peer moduleNavigator module Physics plugin peerPhys X Ageia PhysX libs... XML Ogre Rendering Engine + plugins Main thread (rendering, user interactivity inGame & inModeler, Peer events processing/sending, …) Peer client thread (Peer events listening, …) DirectXOpenGL Main thread (Managing Peer, computing physics, Navigator events processing/sending…) P2NClient libP2NServer lib 3rd parties libs : pthreads, tinyxml, LLMozLib, Navi, lua, brep, csg 3rd parties libs : pthreads, tinyxml, Ogre engine (helpers classes)
Network config Navigator applicationPeer application Peer moduleNavigator module XMLRPC Main thread (rendering, user interactivity inGame & inModeler, Peer events processing/sending, …) Peer client thread (Peer events listening, …) Main thread (Managing Peer, computing physics, Navigator events processing/sending…) P2NClient libP2NServer lib XMLRPC+ + P2NServer xmlrpc++ lib ULXMLRPC PP P2NServer ulxmlrpcpp lib...XMLRPC+ + P2NClient xmlrpc++ lib... XmlDatas
Embedded config Navigator application Peer moduleNavigator module Main thread (rendering, user interactivity inGame & inModeler, Peer events processing/sending, …) Peer client thread (Peer events listening, …) Main thread (Managing Peer, computing physics, Navigator events processing/sending…) P2NNullClientServer lib P2NNullServerP2NNullClient XML XmlDatas