public List <GridRegion> GetNeighbours(UUID scopeID, UUID regionID)
 {
     if (m_RemoteGridService == null)
     {
         return(m_LocalGridService.GetNeighbours(scopeID, regionID));
     }
     return(m_RemoteGridService.GetNeighbours(scopeID, regionID));
 }
        byte[] GetNeighbours(Dictionary <string, object> request)
        {
            UUID scopeID = UUID.Zero;

            if (request.ContainsKey("SCOPEID"))
            {
                UUID.TryParse(request["SCOPEID"].ToString(), out scopeID);
            }
            else
            {
                m_log.WarnFormat("[GRID HANDLER]: no scopeID in request to get neighbours");
            }

            UUID regionID = UUID.Zero;

            if (request.ContainsKey("REGIONID"))
            {
                UUID.TryParse(request["REGIONID"].ToString(), out regionID);
            }
            else
            {
                m_log.WarnFormat("[GRID HANDLER]: no regionID in request to get neighbours");
            }

            List <GridRegion> rinfos = m_GridService.GetNeighbours(scopeID, regionID);
            //m_log.DebugFormat("[GRID HANDLER]: neighbours for region {0}: {1}", regionID, rinfos.Count);

            Dictionary <string, object> result = new Dictionary <string, object>();

            if ((rinfos == null) || ((rinfos != null) && (rinfos.Count == 0)))
            {
                result["result"] = "null";
            }
            else
            {
                int i = 0;
                foreach (GridRegion rinfo in rinfos)
                {
                    Dictionary <string, object> rinfoDict = rinfo.ToKeyValuePairs();
                    result["region" + i] = rinfoDict;
                    i++;
                }
            }

            string xmlString = ServerUtils.BuildXmlResponse(result);
            //m_log.DebugFormat("[GRID HANDLER]: resp string: {0}", xmlString);
            UTF8Encoding encoding = new UTF8Encoding();

            return(encoding.GetBytes(xmlString));
        }
예제 #3
0
 public List <GridRegion> GetNeighbours(UUID scopeID, UUID regionID)
 {
     return(m_GridService.GetNeighbours(scopeID, regionID));
 }