diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs index 3b5bcaa2c8..9df1e00cf6 100644 --- a/OpenSim/Framework/IClientAPI.cs +++ b/OpenSim/Framework/IClientAPI.cs @@ -749,6 +749,8 @@ namespace OpenSim.Framework void SendLogoutPacket(); ClientInfo GetClientInfo(); void SetClientInfo(ClientInfo info); + void SetClientOption(string option, string value); + string GetClientOption(string option); void Terminate(); void SendSetFollowCamProperties(UUID objectID, SortedDictionary parameters); diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 537735d3f5..c8923e0752 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs @@ -6622,6 +6622,34 @@ namespace OpenSim.Region.ClientStack.LindenUDP OutPacket(reply, ThrottleOutPacketType.Land); } + public void SetClientOption(string option, string value) + { + switch (option) + { + case "ReliableIsImportant": + bool val = false; + + if (bool.TryParse(value, out val)) + m_PacketHandler.ReliableIsImportant = val; + break; + default: + break; + } + } + + public string GetClientOption(string option) + { + switch (option) + { + case "ReliableIsImportant": + return m_PacketHandler.ReliableIsImportant.ToString(); + break; + default: + break; + } + return string.Empty; + } + public void KillEndDone() { KillPacket kp = new KillPacket(); diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLPacketHandler.cs b/OpenSim/Region/ClientStack/LindenUDP/LLPacketHandler.cs index ea397c7578..d57321e41f 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLPacketHandler.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLPacketHandler.cs @@ -57,6 +57,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP uint SilenceLimit { get; set; } uint DiscardTimeout { get; set; } uint ResendTimeout { get; set; } + bool ReliableIsImportant { get; set; } void InPacket(Packet packet); void ProcessInPacket(LLQueItem item); diff --git a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs index 92214b9c2b..8c76884618 100644 --- a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs +++ b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs @@ -873,6 +873,15 @@ namespace OpenSim.Region.Environment.Modules.World.NPC { } + public void SetClientOption(string option, string value) + { + } + + public string GetClientOption(string option) + { + return string.Empty; + } + public void KillEndDone() { } diff --git a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs index 3f1823aad4..92a96f91bf 100644 --- a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs +++ b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs @@ -870,6 +870,15 @@ namespace OpenSim.Region.Examples.SimpleModule { } + public void SetClientOption(string option, string value) + { + } + + public string GetClientOption(string option) + { + return string.Empty; + } + public void KillEndDone() { }