flagflag  
11: 2011-09-10 (Sat) 00:08:06 iseki source 12: 2011-09-10 (Sat) 04:21:45 iseki source
Line 145: Line 145:
**** [[Aurora-Sim]] [#y70b7ce7] **** [[Aurora-Sim]] [#y70b7ce7]
-- OpenSim/Region/CoreModules/Agent/AssetTr​ansaction/AssetTransactionModule.cs: HandleUDPUploadRequest()+ 1. CAPModules/InventoryCAPS.cs: NewAgentInventoryRequest() -> RequestUploadCovered() => XML RPC to RS ("UploadCovered") 
 + 2. CAPModules/InventoryCAPS.cs: UploadCompleteHandler() -> RequestUploadCharge() => XML RPC to RS ("UploadCharge") 
 + 
 +- TCP: OpenSim/Services/CapsService/CAPModules/​InventoryCAPS.cs: NewAgentInventoryRequest() 
 +- TCP: OpenSim/Services/CapsService/CAPModules/​InventoryCAPS.cs: UploadCompleteHandler() 
 +- UDP: OpenSim/Region/CoreModules/Agent/AssetTr​ansaction/AssetTransactionModule.cs: HandleUDPUploadRequest()
- %%OpenSim/Services/CapsService/CAPModule​s/InventoryCAPS.cs: NewAgentInventoryRequest()%% - %%OpenSim/Services/CapsService/CAPModule​s/InventoryCAPS.cs: NewAgentInventoryRequest()%%
- %%OpenSim/Services/CapsService/CAPModule​s/InventoryCAPS.cs: HandleInventoryItemCreate()%% - %%OpenSim/Services/CapsService/CAPModule​s/InventoryCAPS.cs: HandleInventoryItemCreate()%%
 +#br
 +----
 +- Aurora-Sim では seed_capability として Robust サーバが指定される(OpenSim では Regionサーバ)
 +- 従って,Uoload では Regionサーバでイベントが発生せず,Robustサーバでイベントが発生する.
 +
 ++ Robust サーバに MoneyModule をロードする.
 +-- 通常のモジュールの読み込みとしては?
 +-- OpenSim/Services/XXX/ にプログラムを作って,サービスとしてロードさせる.サービスは AuroraServerConfig/Main.ini の [Handlers]セクションで指定.
 +-- 詳細不明で断念.
 ++ seed_capability を強制的に Regionサーバにする.
 +-- OpenSim/Services/LLLoginService/LLLoginR​​esponse.cs での LLLoginResponseクラスのコンストラクタ LLLoginResponse(...) で SeedCapability = destination.ServerURI + CapsUtil.GetCapsSeedPath(aCircuit.CapsPa​​th); を追加する.
 +-- 上記の手法により,seed_capability を強制的に Regionサーバにすることは可能.
 +-- この場合,OpenSim/Region/CoreModules/Agent/AssetTr​ansaction/AssetTransactionModule.cs: HandleUDPUploadRequest() がトリガーされる.
 +-- ただし,Regionサーバで Capabilityが定義されないため,Assetの Uploadの通信が UDPとなる(遅い!!)-> 断念.
 +-- 因みに,OpenSim ではこの部分には FillOutSeedCap() という関数が使用されている.
 +       FillOutSeedCap(aCircuit, destination, clientIP);
 +
 +       private void FillOutSeedCap(AgentCircuitData aCircuit, GridRegion destination, IPEndPoint ipepClient)
 +       {
 +           SeedCapability =  destination.ServerURI + CapsUtil.GetCapsSeedPath(aCircuit.CapsPa​th);
 +       }
 ++ Robust サーバから Regionサーバの MoneyModuleを呼び出す.
 +-- penSim/Services/CapsService/CAPModules/I​nventoryCAPS.cs 内でトリガーされる関数から XML RPCを使用して Regionサーバにアクセス.
 +-- この手法を採用!!
#br #br


Front page   New List of Pages Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom)

Site Search

Login

Username:

Password:


Lost Password?
Register now!!

Sub Menu

mini Calendar

Last MonthMay 2024Next Month
Su Mo Tu We Th Fr Sa
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Today

Who's Online

14 user(s) are online (2 user(s) are browsing xpwiki)

Members: 0
Guests: 14

more...

Access Counter

Today : 946946946
Yesterday : 5790579057905790
Total : 2365374223653742236537422365374223653742236537422365374223653742
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com