11: 2011-09-10 (土) 00:08:06 iseki |
12: 2011-09-10 (土) 04:21:45 iseki |
| | | |
| **** [[Aurora-Sim]] [#y70b7ce7] | | **** [[Aurora-Sim]] [#y70b7ce7] |
- | - OpenSim/Region/CoreModules/Agent/AssetTransaction/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/AssetTransaction/AssetTransactionModule.cs: HandleUDPUploadRequest() |
| - %%OpenSim/Services/CapsService/CAPModules/InventoryCAPS.cs: NewAgentInventoryRequest()%% | | - %%OpenSim/Services/CapsService/CAPModules/InventoryCAPS.cs: NewAgentInventoryRequest()%% |
| - %%OpenSim/Services/CapsService/CAPModules/InventoryCAPS.cs: HandleInventoryItemCreate()%% | | - %%OpenSim/Services/CapsService/CAPModules/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/LLLoginResponse.cs での LLLoginResponseクラスのコンストラクタ LLLoginResponse(...) で SeedCapability = destination.ServerURI + CapsUtil.GetCapsSeedPath(aCircuit.CapsPath); を追加する. |
| + | -- 上記の手法により,seed_capability を強制的に Regionサーバにすることは可能. |
| + | -- この場合,OpenSim/Region/CoreModules/Agent/AssetTransaction/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.CapsPath); |
| + | } |
| + | + Robust サーバから Regionサーバの MoneyModuleを呼び出す. |
| + | -- penSim/Services/CapsService/CAPModules/InventoryCAPS.cs 内でトリガーされる関数から XML RPCを使用して Regionサーバにアクセス. |
| + | -- この手法を採用!! |
| #br | | #br |
| | | |