aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/OpenSim.RegionServer/PacketServer.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/OpenSim.RegionServer/PacketServer.cs')
-rw-r--r--OpenSim/OpenSim.RegionServer/PacketServer.cs116
1 files changed, 0 insertions, 116 deletions
diff --git a/OpenSim/OpenSim.RegionServer/PacketServer.cs b/OpenSim/OpenSim.RegionServer/PacketServer.cs
deleted file mode 100644
index 7267ae8..0000000
--- a/OpenSim/OpenSim.RegionServer/PacketServer.cs
+++ /dev/null
@@ -1,116 +0,0 @@
1/*
2* Copyright (c) Contributors, http://www.openmetaverse.org/
3* See CONTRIBUTORS.TXT for a full list of copyright holders.
4*
5* Redistribution and use in source and binary forms, with or without
6* modification, are permitted provided that the following conditions are met:
7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above copyright
10* notice, this list of conditions and the following disclaimer in the
11* documentation and/or other materials provided with the distribution.
12* * Neither the name of the OpenSim Project nor the
13* names of its contributors may be used to endorse or promote products
14* derived from this software without specific prior written permission.
15*
16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26*
27*/
28using System;
29using System.Collections.Generic;
30using System.Text;
31using OpenSim.RegionServer.Simulator;
32using OpenSim.RegionServer.Client;
33using libsecondlife.Packets;
34
35namespace OpenSim.RegionServer
36{
37 public class PacketServer
38 {
39 private OpenSimNetworkHandler _networkHandler;
40 private World _localWorld;
41 public Dictionary<uint, ClientView> ClientThreads = new Dictionary<uint, ClientView>();
42
43 public PacketServer(OpenSimNetworkHandler networkHandler)
44 {
45 _networkHandler = networkHandler;
46 _networkHandler.RegisterPacketServer(this);
47 }
48
49 public World LocalWorld
50 {
51 set
52 {
53 this._localWorld = value;
54 }
55 }
56
57 public virtual void ClientInPacket(uint circuitCode, Packet packet)
58 {
59 if (this.ClientThreads.ContainsKey(circuitCode))
60 {
61 ClientThreads[circuitCode].InPacket(packet);
62 }
63 }
64
65 public virtual bool AddNewCircuitCodeClient(uint circuitCode)
66 {
67 return false;
68 }
69
70 public virtual void SendPacketToAllClients(Packet packet)
71 {
72
73 }
74
75 public virtual void SendPacketToAllExcept(Packet packet, ClientView simClient)
76 {
77
78 }
79
80 public virtual void AddClientPacketHandler(PacketType packetType, PacketMethod handler)
81 {
82
83 }
84
85 public virtual void RegisterClientPacketHandlers()
86 {
87 if (this._localWorld != null)
88 {
89 ClientView.AddPacketHandler(PacketType.UUIDNameRequest, this.RequestUUIDName);
90 }
91 }
92
93 #region Client Packet Handlers
94
95 public bool RequestUUIDName(ClientView simClient, Packet packet)
96 {
97 System.Text.Encoding enc = System.Text.Encoding.ASCII;
98 Console.WriteLine(packet.ToString());
99 UUIDNameRequestPacket nameRequest = (UUIDNameRequestPacket)packet;
100 UUIDNameReplyPacket nameReply = new UUIDNameReplyPacket();
101 nameReply.UUIDNameBlock = new UUIDNameReplyPacket.UUIDNameBlockBlock[nameRequest.UUIDNameBlock.Length];
102
103 for (int i = 0; i < nameRequest.UUIDNameBlock.Length; i++)
104 {
105 nameReply.UUIDNameBlock[i] = new UUIDNameReplyPacket.UUIDNameBlockBlock();
106 nameReply.UUIDNameBlock[i].ID = nameRequest.UUIDNameBlock[i].ID;
107 nameReply.UUIDNameBlock[i].FirstName = enc.GetBytes("Who\0"); //for now send any name
108 nameReply.UUIDNameBlock[i].LastName = enc.GetBytes("Knows\0"); //in future need to look it up
109 }
110 simClient.OutPacket(nameReply);
111 return true;
112 }
113
114 #endregion
115 }
116}