5
Solipsis Peer / Navigator software architecture

Solipsis Peer / Navigator software architecture. Global Architecture Peer Navigator Peer Navigator Peer Navigator P2P Network

Embed Size (px)

Citation preview

Page 1: Solipsis Peer / Navigator software architecture. Global Architecture Peer Navigator Peer Navigator Peer Navigator P2P Network

SolipsisPeer / Navigator

software architecture

Page 2: Solipsis Peer / Navigator software architecture. Global Architecture Peer Navigator Peer Navigator Peer Navigator P2P Network

Global Architecture

Peer

Navigator

Peer

Navigator

Peer

Navigator

P2P Network

Page 3: Solipsis Peer / Navigator software architecture. Global Architecture Peer Navigator Peer Navigator Peer Navigator P2P Network

Software architecture

Peer module Navigator module

Physics plugin

peerPhysX

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,

…)

DirectX OpenGL

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)

Page 4: Solipsis Peer / Navigator software architecture. Global Architecture Peer Navigator Peer Navigator Peer Navigator P2P Network

Network config

Navigator applicationPeer application

Peer module Navigator 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++

P2NServerxmlrpc++

lib

ULXMLRPCPP

P2NServerulxmlrpcpp

lib

. . . XMLRPC++

P2NClientxmlrpc++

lib

. . .

XmlDatas XmlDatas

Page 5: Solipsis Peer / Navigator software architecture. Global Architecture Peer Navigator Peer Navigator Peer Navigator P2P Network

Embedded config

Navigator application

Peer module Navigator 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

P2NNullServer P2NNullClientXML

XmlDatas