Serialize() public method

Serialize the object
public Serialize ( ) : OSDMap
return OSDMap
        public void EstablishAgentCommunicationMessage()
        {
            EstablishAgentCommunicationMessage s = new EstablishAgentCommunicationMessage();
            s.Address = testIP;
            s.AgentID = UUID.Random();
            s.Port = 3000;
            s.SeedCapability = testURI;

            OSDMap map = s.Serialize();

            EstablishAgentCommunicationMessage t = new EstablishAgentCommunicationMessage();
            t.Deserialize(map);

            Assert.AreEqual(s.Address, t.Address);
            Assert.AreEqual(s.AgentID, t.AgentID);
            Assert.AreEqual(s.Port, t.Port);
            Assert.AreEqual(s.SeedCapability, t.SeedCapability);
        }
Ejemplo n.º 2
0
        private bool RezChildAgentReplyHandler(LLAgent agent, OSDMap map, out IPAddress simHost, out int simPort, out Uri seedCapability)
        {
            simHost = null;
            simPort = 0;
            seedCapability = null;

            if (map["connect"].AsBoolean())
            {
                #region Response Parsing

                string simHostStr = map["sim_host"].AsString();
                if (!IPAddress.TryParse(simHostStr, out simHost))
                {
                    m_log.Warn("rez_avatar/response had an invalid sim_host: " + simHostStr);
                    return false;
                }

                simPort = map["sim_port"].AsInteger();
                UUID regionID = map["region_id"].AsUUID();

                uint regionX = map["region_x"].AsUInteger();
                uint regionY = map["region_y"].AsUInteger();
                ulong regionHandle = Utils.UIntsToLong(regionX, regionY);

                seedCapability = map["region_seed_capability"].AsUri();
                if (seedCapability == null)
                {
                    m_log.Warn("rez_avatar/response had an invalid region_seed_capability: " + map["region_seed_capability"].AsString());
                    return false;
                }

                #endregion Response Parsing

                #region EnableSimulator

                EnableSimulatorMessage.SimulatorInfoBlock block = new EnableSimulatorMessage.SimulatorInfoBlock();
                block.IP = simHost;
                block.Port = simPort;
                block.RegionHandle = regionHandle;

                EnableSimulatorMessage enable = new EnableSimulatorMessage();
                enable.Simulators = new EnableSimulatorMessage.SimulatorInfoBlock[1];
                enable.Simulators[0] = block;

                m_log.Debug("Sending EnableSimulator message for scene " + regionID + " to " + agent.Name);
                agent.EventQueue.QueueEvent("EnableSimulator", enable.Serialize());

                #endregion EnableSimulator

                #region EstablishAgentCommunication

                // Send an EstablishAgentCommunication event down to the client to get the neighbor event queue established
                EstablishAgentCommunicationMessage eacMessage = new EstablishAgentCommunicationMessage();
                eacMessage.AgentID = regionID;
                eacMessage.Address = simHost;
                eacMessage.Port = simPort;
                eacMessage.SeedCapability = seedCapability;

                m_log.Debug("Sending EstablishAgentCommunication message for seedcap " + seedCapability + " to " + agent.Name);
                agent.EventQueue.QueueEvent("EstablishAgentCommunication", eacMessage.Serialize());

                #endregion EstablishAgentCommunication

                return true;
            }
            else
            {
                m_log.Warn("rez_avatar/request from " + m_scene.Name + " for child agent " + agent.Name +
                    " failed: " + map["message"].AsString());
                return false;
            }
        }