public ClientSyncer(IClientPacketManager packetManager) { //TODO: cleanup var gen = new NetworkPacketFactoryCodeGenerater(TWDir.Cache.FullName + "\\ClientSyncerGenTemp" + (new Random()).Next(0, 10000) + ".dll"); var timeFactory = gen.GetFactory <TimeUpdatePacket>(); gen.BuildFactoriesAssembly(); deltaTransport = packetManager.CreatePacketTransporter("WorldSyncerDeltaSnapshot", new DataPacket.Factory(), PacketFlags.UDP); timeTransport = packetManager.CreatePacketTransporter("WorldSyncerTimeUpdate", timeFactory, PacketFlags.UDP); var t = new Thread(receiveDeltaJob) { Name = "ClientSyncerDeltaJob", IsBackground = true }; t.Start(); t = new Thread(receiveTimeJob) { Name = "ClientSyncerTimeJob", IsBackground = true }; t.Start(); }
public ClientStaticWorldObjectSyncer(IClientPacketManager pm, IStaticWorldObjectFactory worldObjectFactory) { this.worldObjectFactory = worldObjectFactory; var gen = new Networking.NetworkPacketFactoryCodeGenerater(TWDir.Cache + "\\ClientStaticWorldObjectSyncer" + (new Random()).Next(0, 100000) + ".dll"); updateTransporter = pm.CreatePacketTransporter("StaticWorldObjectSyncer_UpdatePacket", gen.GetFactory <StaticWorldObjectUpdatePacket>(), Networking.PacketFlags.TCP); deleteTransporter = pm.CreatePacketTransporter("StaticWorldObjectSyncer_DeletePacket", gen.GetFactory <StaticWorldObjectDeletePacket>(), Networking.PacketFlags.TCP); gen.BuildFactoriesAssembly(); }
public ClientVersioningSyncer(VersioningSystem sys, IClientPacketManager pm) { this.sys = sys; var gen = new NetworkPacketFactoryCodeGenerater(TWDir.GenerateRandomCacheFile("CVS", "dll")); revisionTransporter = pm.CreatePacketTransporter("Versioning_Revision", gen.GetFactory <RevisionPacket>(), PacketFlags.TCP); requestRevisionTransporter = pm.CreatePacketTransporter("Versioning_RequestRevision", gen.GetFactory <RevisionRequestPacket>(), PacketFlags.TCP); commandTransporter = pm.CreatePacketTransporter("Versioning_CMD", new BytePacket.Factory(), PacketFlags.TCP); fileTransporter = new ClientFileTransporter <RevisionFilePacket>("Versioning_File", pm, TWDir.Cache.CreateSubdirectory("Versioning").FullName); fileTransporter.StartReceiving(); gen.BuildFactoriesAssembly(); }
public ClientFileTransporter(string uniqueName, IClientPacketManager pm, string downloadCachePath) { this.downloadCachePath = downloadCachePath; UniqueName = uniqueName; i = (new Random()).Next(0, 1000); var gen = new NetworkPacketFactoryCodeGenerater(Application.StartupPath + "\\ClientFileTrans" + uniqueName + i.ToString() + ".dll"); startTransporter = pm.CreatePacketTransporter("SFTFileStart" + uniqueName, gen.GetFactory <FileStartPacket>(), PacketFlags.TCP); endTransporter = pm.CreatePacketTransporter("SFTFileComplete" + uniqueName, gen.GetFactory <T>(), PacketFlags.TCP); partTransporter = pm.CreatePacketTransporter("SFTFilePart" + uniqueName, gen.GetFactory <FilePartPacket>(), PacketFlags.TCP); gen.BuildFactoriesAssembly(); StartReceiving(); }