Files
libremetaverse/SLProxy/XmlRpcCS/XmlRpcBoxcarRequest.cs
John Hurliman 77a9c8bd23 * XmlRpcCS has been replaced with custom XML handling, all login code has been moved to Login.cs
* XmlRpcCS moved to SLProxy folder, since SLProxy still relies on it
* Client.Network.LoginError is now obsolete, replaced by Client.Network.LoginErrorKey and Client.Network.LoginMessage
* Client.Self now has StartLocation and AgentAccess strings after a successful Login
* Removed the null LLUUID check in _Packets_.cs since LLUUID will be a struct soon
* Fixed directories in mapgen.bat
* AgentThrottle class lives in AgentThrottle.cs now

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1097 52acb1d6-8a22-11de-b505-999d5b087335
2007-04-02 04:37:15 +00:00

52 lines
1.7 KiB
C#

namespace Nwc.XmlRpc
{
using System;
using System.Collections;
using System.IO;
using System.Xml;
using System.Net;
using System.Text;
using System.Reflection;
/// <summary>Class that collects individual <c>XmlRpcRequest</c> objects and submits them as a <i>boxcarred</i> request.</summary>
/// <remarks>A boxcared request is when a number of request are collected before being sent via XML-RPC, and then are sent via
/// a single HTTP connection. This results in a speed up from reduced connection time. The results are then retuned collectively
/// as well.
///</remarks>
/// <seealso cref="XmlRpcRequest"/>
public class XmlRpcBoxcarRequest : XmlRpcRequest
{
/// <summary>ArrayList to collect the requests to boxcar.</summary>
public IList Requests = new ArrayList();
/// <summary>Basic constructor.</summary>
public XmlRpcBoxcarRequest()
{
}
/// <summary>Returns the <c>String</c> "system.multiCall" which is the server method that handles boxcars.</summary>
public override String MethodName
{
get { return "system.multiCall"; }
}
/// <summary>The <c>ArrayList</c> of boxcarred <paramref>Requests</paramref> as properly formed parameters.</summary>
public override IList Params
{
get {
_params.Clear();
ArrayList reqArray = new ArrayList();
foreach (XmlRpcRequest request in Requests)
{
Hashtable requestEntry = new Hashtable();
requestEntry.Add(XmlRpcXmlTokens.METHOD_NAME, request.MethodName);
requestEntry.Add(XmlRpcXmlTokens.PARAMS, request.Params);
reqArray.Add(requestEntry);
}
_params.Add(reqArray);
return _params;
}
}
}
}