From e0f8362e7a24a842a569b692652bc18784a2248b Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 14 Apr 2010 22:31:11 +0100 Subject: [PATCH 1/3] minor: add some documentation around the asset udp request path and replace some magic numbers with libomv enums --- OpenSim/Data/SQLite/SQLiteAssetData.cs | 2 +- .../ClientStack/LindenUDP/LLClientView.cs | 51 ++++++++++++------- 2 files changed, 34 insertions(+), 19 deletions(-) diff --git a/OpenSim/Data/SQLite/SQLiteAssetData.cs b/OpenSim/Data/SQLite/SQLiteAssetData.cs index ace40e5a0c..a032670588 100644 --- a/OpenSim/Data/SQLite/SQLiteAssetData.cs +++ b/OpenSim/Data/SQLite/SQLiteAssetData.cs @@ -137,7 +137,7 @@ namespace OpenSim.Data.SQLite cmd.Parameters.Add(new SqliteParameter(":Local", asset.Local)); cmd.Parameters.Add(new SqliteParameter(":Temporary", asset.Temporary)); cmd.Parameters.Add(new SqliteParameter(":Data", asset.Data)); - + cmd.ExecuteNonQuery(); } } diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index f0f3932564..b3f5f09c04 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs @@ -7069,6 +7069,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP return true; } + /// + /// This is the entry point for the UDP route by which the client can retrieve asset data. If the request + /// is successful then a TransferInfo packet will be sent back, followed by one or more TransferPackets + /// + /// + /// + /// This parameter may be ignored since we appear to return true whatever happens private bool HandleTransferRequest(IClientAPI sender, Packet Pack) { //m_log.Debug("ClientView.ProcessPackets.cs:ProcessInPacket() - Got transfer request"); @@ -7079,7 +7086,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP // Has to be done here, because AssetCache can't do it // UUID taskID = UUID.Zero; - if (transfer.TransferInfo.SourceType == 3) + if (transfer.TransferInfo.SourceType == (int)SourceType.SimInventoryItem) { taskID = new UUID(transfer.TransferInfo.Params, 48); UUID itemID = new UUID(transfer.TransferInfo.Params, 64); @@ -11356,17 +11363,20 @@ namespace OpenSim.Region.ClientStack.LindenUDP return String.Empty; } - public void MakeAssetRequest(TransferRequestPacket transferRequest, UUID taskID) + /// + /// Make an asset request to the asset service in response to a client request. + /// + /// + /// + protected void MakeAssetRequest(TransferRequestPacket transferRequest, UUID taskID) { UUID requestID = UUID.Zero; - if (transferRequest.TransferInfo.SourceType == 2) + if (transferRequest.TransferInfo.SourceType == (int)SourceType.Asset) { - //direct asset request requestID = new UUID(transferRequest.TransferInfo.Params, 0); } - else if (transferRequest.TransferInfo.SourceType == 3) + else if (transferRequest.TransferInfo.SourceType == (int)SourceType.SimInventoryItem) { - //inventory asset request requestID = new UUID(transferRequest.TransferInfo.Params, 80); //m_log.Debug("[XXX] inventory asset request " + requestID); //if (taskID == UUID.Zero) // Agent @@ -11379,29 +11389,34 @@ namespace OpenSim.Region.ClientStack.LindenUDP // } } - //check to see if asset is in local cache, if not we need to request it from asset server. - //m_log.Debug("asset request " + requestID); + //m_log.DebugFormat("[LLCLIENTVIEW]: {0} requesting asset {1}", Name, requestID); m_assetService.Get(requestID.ToString(), transferRequest, AssetReceived); - } + /// + /// When we get a reply back from the asset service in response to a client request, send back the data. + /// + /// + /// + /// protected void AssetReceived(string id, Object sender, AssetBase asset) { TransferRequestPacket transferRequest = (TransferRequestPacket)sender; UUID requestID = UUID.Zero; - byte source = 2; - if ((transferRequest.TransferInfo.SourceType == 2) || (transferRequest.TransferInfo.SourceType == 2222)) + byte source = (byte)SourceType.Asset; + + if ((transferRequest.TransferInfo.SourceType == (int)SourceType.Asset) + || (transferRequest.TransferInfo.SourceType == 2222)) { - //direct asset request requestID = new UUID(transferRequest.TransferInfo.Params, 0); } - else if ((transferRequest.TransferInfo.SourceType == 3) || (transferRequest.TransferInfo.SourceType == 3333)) + else if ((transferRequest.TransferInfo.SourceType == (int)SourceType.SimInventoryItem) + || (transferRequest.TransferInfo.SourceType == 3333)) { - //inventory asset request requestID = new UUID(transferRequest.TransferInfo.Params, 80); - source = 3; + source = (byte)SourceType.SimInventoryItem; //m_log.Debug("asset request " + requestID); } @@ -11414,9 +11429,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP if ((userAssets != string.Empty) && (userAssets != m_hyperAssets.GetSimAssetServer())) { m_log.DebugFormat("[CLIENT]: asset {0} not found in local asset storage. Trying user's storage.", id); - if (transferRequest.TransferInfo.SourceType == 2) + if (transferRequest.TransferInfo.SourceType == (int)SourceType.Asset) transferRequest.TransferInfo.SourceType = 2222; // marker - else if (transferRequest.TransferInfo.SourceType == 3) + else if (transferRequest.TransferInfo.SourceType == (int)SourceType.SimInventoryItem) transferRequest.TransferInfo.SourceType = 3333; // marker m_assetService.Get(userAssets + "/" + id, transferRequest, AssetReceived); @@ -11431,7 +11446,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP } // Scripts cannot be retrieved by direct request - if (transferRequest.TransferInfo.SourceType == 2 && asset.Type == 10) + if (transferRequest.TransferInfo.SourceType == (int)SourceType.Asset && asset.Type == 10) return; // The asset is known to exist and is in our cache, so add it to the AssetRequests list From 407b48f3bb20b643c694c725bbf94a02e73d9fd6 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Wed, 14 Apr 2010 19:22:48 -0700 Subject: [PATCH 2/3] The missing .csproj for the Robust 32 bit launcher --- .../Robust.32BitLaunch.csproj | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 OpenSim/Tools/Robust.32BitLaunch/Robust.32BitLaunch.csproj diff --git a/OpenSim/Tools/Robust.32BitLaunch/Robust.32BitLaunch.csproj b/OpenSim/Tools/Robust.32BitLaunch/Robust.32BitLaunch.csproj new file mode 100644 index 0000000000..f19e082c28 --- /dev/null +++ b/OpenSim/Tools/Robust.32BitLaunch/Robust.32BitLaunch.csproj @@ -0,0 +1,62 @@ + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {595D67F3-B413-4A43-8568-5B5930E3B31D} + Exe + Properties + Robust._32BitLaunch + Robust.32BitLaunch + v3.5 + 512 + + + true + full + false + ..\..\..\bin\ + DEBUG;TRACE + prompt + 4 + x86 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + ..\..\..\bin\log4net.dll + + + False + ..\..\..\bin\OpenSim.Server.exe + + + + 3.5 + + + + + + + + + + + \ No newline at end of file From a7aab6af0cc82566e52cacc3c118ee2468a12c8a Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Wed, 14 Apr 2010 19:39:27 -0700 Subject: [PATCH 3/3] This version of the launcher exe works. --- bin/Robust.32BitLaunch.exe | Bin 5632 -> 5632 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/bin/Robust.32BitLaunch.exe b/bin/Robust.32BitLaunch.exe index 3119dc966e43aa93a26ae3c205b4675143755cdb..14a6db3f1f70a6b5767aeede7a5520821301b606 100644 GIT binary patch delta 957 zcmZ8g-%Ha`6#v}&-4ET?a=ElDZF8n$TQZ%5C6ejVnq<*7!I-(3Q&#HaJ2ga5tA`99 za$JZc3Zh;NBWwKu)k9BF27y6fZ@!fUB0*A}@2o94aL)alANQPd&%JlbHRYO}mL8A2 zO3oDX5@+&ZyK%_@w1TJs_^M7?^9^CZK)RhAdxe#|LqID1|*=$pCIQ z(^`&|ddeKmL~G(Z$(*h-2|2q}zLg32$BGqzj>z(;Qv{&zLVY2rCEQ*>SsaaiUn5h_ zM5K&kw5HNs>2Z6i4k;Ej`bjo$z%~Ia(CVTQ*!;tCY_Kmu2>75Trv0{{AB$Q*sbgyi zp77H8ob-T*NX7g1dqCxsGE|&Ky2Xl4W*EgCDOUTDy`8qp-JrtsWk2|;q7f9;x zl;0=(nm3bujjwPc^wK6-N+nUNa&d!I^s3Ie%@{)mN^qTI8ImOPFo&1C8u##?AH+O1 zcpaY5AR3U1-IDmCYO5$^l^BPUG+6P1y$d|5%jG_|7=ooZ{rZKe1BXp^UI zs^2j2S(8)L9+eZZ_#ll3fr#7}9d4E*1JO%y`C`hiZDOgpoMo1`+WKhe=k{LT?D)55 z9rM~7VoGOYN5uo3gLR6xx|x$L3`Lb~#{!wnu0MI}mHS}`7|j`%H66!A@13RoMWnDgM_8y^L?yVqS zvk^9BV~2HybR}^Iqf0H>SyubsoDHa8BnId}c^AS*NpKbSI)z>5oCx^?{DNkny^Kr0mt}HWkA zxee=lg_s>KB6=U+b%}!hmRg1T=s`6ek+-9WCp?5X%=0kj@t!x~1-j5oayGfJDOcTJ z;m0Vx;R^HxQb411(6vYebdxqNCKdPbA*u2oTOm$+qpUJ*$rxe`+IHDzX1~2P@_0G& zwym%|cIS1x{IpmzdDsQ9Yf@Q{@R+BSGDhzf`{v*^+QkkzQ_dcvvp`$7U