* Fixes issue #4329 "llDialog fails silently" by updating OpenMetaverse.dll
* Prints a warning for any future packet splitting failures0.6.8-post-fixes
parent
aecaa51063
commit
a05c67bebb
|
@ -4329,11 +4329,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
/// </summary>
|
/// </summary>
|
||||||
protected virtual void RegisterLocalPacketHandlers()
|
protected virtual void RegisterLocalPacketHandlers()
|
||||||
{
|
{
|
||||||
AddLocalPacketHandler(PacketType.LogoutRequest, Logout);
|
AddLocalPacketHandler(PacketType.LogoutRequest, HandleLogout);
|
||||||
AddLocalPacketHandler(PacketType.AgentUpdate, HandleAgentUpdate);
|
AddLocalPacketHandler(PacketType.AgentUpdate, HandleAgentUpdate);
|
||||||
AddLocalPacketHandler(PacketType.ViewerEffect, HandleViewerEffect);
|
AddLocalPacketHandler(PacketType.ViewerEffect, HandleViewerEffect);
|
||||||
AddLocalPacketHandler(PacketType.AgentCachedTexture, AgentTextureCached);
|
AddLocalPacketHandler(PacketType.AgentCachedTexture, HandleAgentTextureCached);
|
||||||
AddLocalPacketHandler(PacketType.MultipleObjectUpdate, MultipleObjUpdate);
|
AddLocalPacketHandler(PacketType.MultipleObjectUpdate, HandleMultipleObjUpdate);
|
||||||
AddLocalPacketHandler(PacketType.MoneyTransferRequest, HandleMoneyTransferRequest);
|
AddLocalPacketHandler(PacketType.MoneyTransferRequest, HandleMoneyTransferRequest);
|
||||||
AddLocalPacketHandler(PacketType.ParcelBuy, HandleParcelBuyRequest);
|
AddLocalPacketHandler(PacketType.ParcelBuy, HandleParcelBuyRequest);
|
||||||
AddLocalPacketHandler(PacketType.UUIDGroupNameRequest, HandleUUIDGroupNameRequest);
|
AddLocalPacketHandler(PacketType.UUIDGroupNameRequest, HandleUUIDGroupNameRequest);
|
||||||
|
@ -4602,7 +4602,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
/// <param name="client"></param>
|
/// <param name="client"></param>
|
||||||
/// <param name="packet"></param>
|
/// <param name="packet"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
protected virtual bool Logout(IClientAPI client, Packet packet)
|
protected virtual bool HandleLogout(IClientAPI client, Packet packet)
|
||||||
{
|
{
|
||||||
if (packet.Type == PacketType.LogoutRequest)
|
if (packet.Type == PacketType.LogoutRequest)
|
||||||
{
|
{
|
||||||
|
@ -4640,7 +4640,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
/// <param name="simclient"></param>
|
/// <param name="simclient"></param>
|
||||||
/// <param name="packet"></param>
|
/// <param name="packet"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
protected bool AgentTextureCached(IClientAPI simclient, Packet packet)
|
protected bool HandleAgentTextureCached(IClientAPI simclient, Packet packet)
|
||||||
{
|
{
|
||||||
//m_log.Debug("texture cached: " + packet.ToString());
|
//m_log.Debug("texture cached: " + packet.ToString());
|
||||||
AgentCachedTexturePacket cachedtex = (AgentCachedTexturePacket)packet;
|
AgentCachedTexturePacket cachedtex = (AgentCachedTexturePacket)packet;
|
||||||
|
@ -4670,7 +4670,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected bool MultipleObjUpdate(IClientAPI simClient, Packet packet)
|
protected bool HandleMultipleObjUpdate(IClientAPI simClient, Packet packet)
|
||||||
{
|
{
|
||||||
MultipleObjectUpdatePacket multipleupdate = (MultipleObjectUpdatePacket)packet;
|
MultipleObjectUpdatePacket multipleupdate = (MultipleObjectUpdatePacket)packet;
|
||||||
if (multipleupdate.AgentData.SessionID != SessionId) return false;
|
if (multipleupdate.AgentData.SessionID != SessionId) return false;
|
||||||
|
|
|
@ -256,8 +256,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
byte[][] datas = packet.ToBytesMultiple();
|
byte[][] datas = packet.ToBytesMultiple();
|
||||||
int packetCount = datas.Length;
|
int packetCount = datas.Length;
|
||||||
|
|
||||||
//if (packetCount > 1)
|
if (packetCount < 1)
|
||||||
// m_log.Debug("[LLUDPSERVER]: Split " + packet.Type + " packet into " + packetCount + " packets");
|
m_log.Error("[LLUDPSERVER]: Failed to split " + packet.Type + " with estimated length " + packet.Length);
|
||||||
|
|
||||||
for (int i = 0; i < packetCount; i++)
|
for (int i = 0; i < packetCount; i++)
|
||||||
{
|
{
|
||||||
|
@ -295,8 +295,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
byte[][] datas = packet.ToBytesMultiple();
|
byte[][] datas = packet.ToBytesMultiple();
|
||||||
int packetCount = datas.Length;
|
int packetCount = datas.Length;
|
||||||
|
|
||||||
//if (packetCount > 1)
|
if (packetCount < 1)
|
||||||
// m_log.Debug("[LLUDPSERVER]: Split " + packet.Type + " packet into " + packetCount + " packets");
|
m_log.Error("[LLUDPSERVER]: Failed to split " + packet.Type + " with estimated length " + packet.Length);
|
||||||
|
|
||||||
for (int i = 0; i < packetCount; i++)
|
for (int i = 0; i < packetCount; i++)
|
||||||
{
|
{
|
||||||
|
|
|
@ -130,9 +130,9 @@ namespace OpenSim.TestSuite
|
||||||
public void startup()
|
public void startup()
|
||||||
{
|
{
|
||||||
client.Settings.LOGIN_SERVER = loginURI;
|
client.Settings.LOGIN_SERVER = loginURI;
|
||||||
client.Network.OnConnected += new NetworkManager.ConnectedCallback(this.Network_OnConnected);
|
client.Network.LoginProgress += this.Network_LoginProgress;
|
||||||
client.Network.OnSimConnected += new NetworkManager.SimConnectedCallback(this.Network_OnConnected);
|
client.Network.SimConnected += this.Network_SimConnected;
|
||||||
client.Network.OnDisconnected += new NetworkManager.DisconnectedCallback(this.Network_OnDisconnected);
|
client.Network.Disconnected += this.Network_OnDisconnected;
|
||||||
if (client.Network.Login(firstname, lastname, password, "pCampBot", "Your name"))
|
if (client.Network.Login(firstname, lastname, password, "pCampBot", "Your name"))
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -155,19 +155,22 @@ namespace OpenSim.TestSuite
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Network_OnConnected(object sender)
|
public void Network_LoginProgress(object sender, LoginProgressEventArgs args)
|
||||||
|
{
|
||||||
|
if (args.Status == LoginStatus.Success)
|
||||||
{
|
{
|
||||||
if (OnConnected != null)
|
if (OnConnected != null)
|
||||||
{
|
{
|
||||||
OnConnected(this, EventType.CONNECTED);
|
OnConnected(this, EventType.CONNECTED);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void Simulator_Connected(object sender)
|
public void Network_SimConnected(object sender, SimConnectedEventArgs args)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Network_OnDisconnected(NetworkManager.DisconnectType reason, string message)
|
public void Network_OnDisconnected(object sender, DisconnectedEventArgs args)
|
||||||
{
|
{
|
||||||
if (OnDisconnected != null)
|
if (OnDisconnected != null)
|
||||||
{
|
{
|
||||||
|
|
|
@ -151,9 +151,9 @@ namespace pCampBot
|
||||||
client.Throttle.Texture = 100000;
|
client.Throttle.Texture = 100000;
|
||||||
client.Throttle.Wind = 100000;
|
client.Throttle.Wind = 100000;
|
||||||
client.Throttle.Total = 400000;
|
client.Throttle.Total = 400000;
|
||||||
client.Network.OnConnected += new NetworkManager.ConnectedCallback(this.Network_OnConnected);
|
client.Network.LoginProgress += this.Network_LoginProgress;
|
||||||
client.Network.OnSimConnected += new NetworkManager.SimConnectedCallback(this.Network_OnConnected);
|
client.Network.SimConnected += this.Network_SimConnected;
|
||||||
client.Network.OnDisconnected += new NetworkManager.DisconnectedCallback(this.Network_OnDisconnected);
|
client.Network.Disconnected += this.Network_OnDisconnected;
|
||||||
client.Objects.ObjectUpdate += Objects_NewPrim;
|
client.Objects.ObjectUpdate += Objects_NewPrim;
|
||||||
//client.Assets.OnAssetReceived += Asset_ReceivedCallback;
|
//client.Assets.OnAssetReceived += Asset_ReceivedCallback;
|
||||||
if (client.Network.Login(firstname, lastname, password, "pCampBot", "Your name"))
|
if (client.Network.Login(firstname, lastname, password, "pCampBot", "Your name"))
|
||||||
|
@ -349,19 +349,22 @@ namespace pCampBot
|
||||||
return clothfolder;
|
return clothfolder;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Network_OnConnected(object sender)
|
public void Network_LoginProgress(object sender, LoginProgressEventArgs args)
|
||||||
|
{
|
||||||
|
if (args.Status == LoginStatus.Success)
|
||||||
{
|
{
|
||||||
if (OnConnected != null)
|
if (OnConnected != null)
|
||||||
{
|
{
|
||||||
OnConnected(this, EventType.CONNECTED);
|
OnConnected(this, EventType.CONNECTED);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void Simulator_Connected(object sender)
|
public void Network_SimConnected(object sender, SimConnectedEventArgs args)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Network_OnDisconnected(NetworkManager.DisconnectType reason, string message)
|
public void Network_OnDisconnected(object sender, DisconnectedEventArgs args)
|
||||||
{
|
{
|
||||||
if (OnDisconnected != null)
|
if (OnDisconnected != null)
|
||||||
{
|
{
|
||||||
|
|
Binary file not shown.
|
@ -42,7 +42,7 @@
|
||||||
; SmartThreadPool is reported to work well on Mono/Linux, but
|
; SmartThreadPool is reported to work well on Mono/Linux, but
|
||||||
; UnsafeQueueUserWorkItem has been benchmarked with better
|
; UnsafeQueueUserWorkItem has been benchmarked with better
|
||||||
; performance on .NET/Windows
|
; performance on .NET/Windows
|
||||||
;async_call_method = SmartThreadPool
|
async_call_method = SmartThreadPool
|
||||||
|
|
||||||
; There are several operations on large collections (such as
|
; There are several operations on large collections (such as
|
||||||
; the current avatar list) that can be run synchronously or
|
; the current avatar list) that can be run synchronously or
|
||||||
|
|
Loading…
Reference in New Issue