private bool RemoveChannel(UUID itemID)
        {
            if (!m_Channels.ContainsKey(itemID))
            {
                m_log.InfoFormat("[XMLRPC GRID ROUTER]: Attempted to unregister non-existing Item: {0}", itemID.ToString());
                return(false);
            }

            XmlRpcInfo info = new XmlRpcInfo();

            info.channel = m_Channels[itemID];
            info.item    = itemID;
            info.uri     = "http://0.0.0.0:00";

            if (info != null)
            {
                bool success = SynchronousRestObjectRequester.MakeRequest <XmlRpcInfo, bool>(
                    "POST", m_ServerURI + "/RemoveChannel/", info);

                if (!success)
                {
                    m_log.Error("[XMLRPC GRID ROUTER] Error contacting server");
                }

                m_Channels.Remove(itemID);
                return(true);
            }
            return(false);
        }
        public void RegisterNewReceiver(IScriptModule scriptEngine, UUID channel, UUID objectID, UUID itemID, string uri)
        {
            if (!m_Enabled)
            {
                return;
            }

            m_log.InfoFormat("[XMLRPC GRID ROUTER]: New receiver Obj: {0} Ch: {1} ID: {2} URI: {3}",
                             objectID.ToString(), channel.ToString(), itemID.ToString(), uri);

            XmlRpcInfo info = new XmlRpcInfo();

            info.channel = channel;
            info.uri     = uri;
            info.item    = itemID;

            bool success = SynchronousRestObjectRequester.MakeRequest <XmlRpcInfo, bool>(
                "POST", m_ServerURI + "/RegisterChannel/", info);

            if (!success)
            {
                m_log.Error("[XMLRPC GRID ROUTER] Error contacting server");
            }

            m_Channels[itemID] = channel;
        }
        public void RegisterNewReceiver(IScriptModule scriptEngine, UUID channel, UUID objectID, UUID itemID, string uri)
        {
            if (!m_Channels.ContainsKey(itemID))
            {
                XmlRpcInfo info = new XmlRpcInfo();
                info.channel = channel;
                info.uri     = uri;

                bool success = SynchronousRestObjectRequester.MakeRequest <XmlRpcInfo, bool>(
                    "POST", m_ServerURI + "/RegisterChannel/", info);

                if (!success)
                {
                    m_log.Error("[XMLRPC GRID ROUTER] Error contacting server");
                }

                m_Channels[itemID] = channel;
            }
        }
        private bool RemoveChannel(UUID itemID)
        {
            if(!m_Channels.ContainsKey(itemID))
            {
                m_log.InfoFormat("[XMLRPC GRID ROUTER]: Attempted to unregister non-existing Item: {0}", itemID.ToString());
                return false;
            }

            XmlRpcInfo info = new XmlRpcInfo();

            info.channel = m_Channels[itemID];
            info.item = itemID;
            info.uri = "http://0.0.0.0:00";

            if (info != null)
            {
                bool success = SynchronousRestObjectRequester.MakeRequest<XmlRpcInfo, bool>(
                        "POST", m_ServerURI+"/RemoveChannel/", info);

                if (!success)
                {
                    m_log.Error("[XMLRPC GRID ROUTER] Error contacting server");
                }

                m_Channels.Remove(itemID);
                return true;
            }
            return false;
        }
        public void RegisterNewReceiver(IScriptModule scriptEngine, UUID channel, UUID objectID, UUID itemID, string uri)
        {
            if (!m_Enabled)
                return;

            m_log.InfoFormat("[XMLRPC GRID ROUTER]: New receiver Obj: {0} Ch: {1} ID: {2} URI: {3}", 
                                objectID.ToString(), channel.ToString(), itemID.ToString(), uri);

            XmlRpcInfo info = new XmlRpcInfo();
            info.channel = channel;
            info.uri = uri;
            info.item = itemID;

            bool success = SynchronousRestObjectRequester.MakeRequest<XmlRpcInfo, bool>(
                    "POST", m_ServerURI+"/RegisterChannel/", info);

            if (!success)
            {
                m_log.Error("[XMLRPC GRID ROUTER] Error contacting server");
            }

            m_Channels[itemID] = channel;

        }
        public void RegisterNewReceiver(IScriptModule scriptEngine, UUID channel, UUID objectID, UUID itemID, string uri)
        {
            if (!m_Channels.ContainsKey(itemID))
            {
                XmlRpcInfo info = new XmlRpcInfo();
                info.channel = channel;
                info.uri = uri;

                bool success = SynchronousRestObjectPoster.BeginPostObject<XmlRpcInfo, bool>(
                        "POST", m_ServerURI+"/RegisterChannel/", info);

                if (!success)
                {
                    m_log.Error("[XMLRPC GRID ROUTER] Error contacting server");
                }

                m_Channels[itemID] = channel;
            }
        }