2008-09-15 22:12:56 +00:00
|
|
|
using System;
|
|
|
|
|
using OpenMetaverse.Packets;
|
|
|
|
|
|
|
|
|
|
namespace OpenMetaverse.TestClient
|
|
|
|
|
{
|
|
|
|
|
public class SleepCommand : Command
|
|
|
|
|
{
|
|
|
|
|
uint sleepSerialNum = 1;
|
|
|
|
|
|
|
|
|
|
public SleepCommand(TestClient testClient)
|
|
|
|
|
{
|
|
|
|
|
Name = "sleep";
|
|
|
|
|
Description = "Uses AgentPause/AgentResume and sleeps for a given number of seconds. Usage: sleep [seconds]";
|
|
|
|
|
Category = CommandCategory.TestClient;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override string Execute(string[] args, UUID fromAgentID)
|
|
|
|
|
{
|
|
|
|
|
int seconds;
|
2022-02-25 19:38:11 -06:00
|
|
|
if (args.Length != 1 || !int.TryParse(args[0], out seconds))
|
2008-09-15 22:12:56 +00:00
|
|
|
return "Usage: sleep [seconds]";
|
|
|
|
|
|
2022-02-25 19:38:11 -06:00
|
|
|
AgentPausePacket pause = new AgentPausePacket
|
|
|
|
|
{
|
|
|
|
|
AgentData =
|
|
|
|
|
{
|
|
|
|
|
AgentID = Client.Self.AgentID,
|
|
|
|
|
SessionID = Client.Self.SessionID,
|
|
|
|
|
SerialNum = sleepSerialNum++
|
|
|
|
|
}
|
|
|
|
|
};
|
2008-09-15 22:12:56 +00:00
|
|
|
|
|
|
|
|
Client.Network.SendPacket(pause);
|
|
|
|
|
|
|
|
|
|
// Sleep
|
|
|
|
|
System.Threading.Thread.Sleep(seconds * 1000);
|
|
|
|
|
|
2022-02-25 19:38:11 -06:00
|
|
|
AgentResumePacket resume = new AgentResumePacket
|
|
|
|
|
{
|
|
|
|
|
AgentData =
|
|
|
|
|
{
|
|
|
|
|
AgentID = Client.Self.AgentID,
|
|
|
|
|
SessionID = Client.Self.SessionID,
|
|
|
|
|
SerialNum = pause.AgentData.SerialNum
|
|
|
|
|
}
|
|
|
|
|
};
|
2008-09-15 22:12:56 +00:00
|
|
|
|
|
|
|
|
Client.Network.SendPacket(resume);
|
|
|
|
|
|
|
|
|
|
return "Paused, slept for " + seconds + " second(s), and resumed";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|