コード例 #1
0
        public void distributeChunk(UInt64 id)
        {
            //create a response message
            List <byte>          data            = new List <byte>(myCache.compressedChunk(id));
            TerrainResponseEvent terrainResponse = new TerrainResponseEvent(id, data);

            Kernel.eventManager.queueEvent(terrainResponse);
        }
コード例 #2
0
        EventManager.EventResult handleTerrainResponse(Event e)
        {
            TerrainResponseEvent tr = e as TerrainResponseEvent;

            if (tr != null)
            {
                myServer.send(tr);

                return(EventManager.EventResult.HANDLED);
            }

            return(EventManager.EventResult.IGNORED);
        }
コード例 #3
0
        bool filterSendMessages(Event e, TcpClient client)
        {
            if (e is TerrainResponseEvent)
            {
                TerrainResponseEvent tr         = e as TerrainResponseEvent;
                HashSet <UInt64>     myRequests = myClientInterest[client];
                if (myRequests.Contains(tr.chunkId))
                {
                    responses++;
                    return(false);
                }
                else
                {
                    return(true);
                }
            }

            return(true);
        }