示例#1
0
        public void onData(Interest interest, Data data)
        {
//			Debug.Log ("onData: " +  interest.toUri());

            Name dataName = data.getName();

            //	Debug.Log ("NDN: Initial data received : " + dataName.toUri ());

            if (dataName.size() > consumerOuterInstance.prefix.size() + 1)
            {
                consumerOuterInstance.setStartTimeComponent(dataName.get(consumerOuterInstance.prefix.size()));
                //fetchTrackHint
                consumerOuterInstance.expressHintInterest();
            }
            else
            {
                Debug.LogError("NDN: Initial interest received unexpected data : " + dataName.toUri());
            }
        }
示例#2
0
        public void onData(Interest interest, Data data)
        {
            JSONNode parsedHint = JSON.Parse(data.getContent().toString());


            foreach (JSONNode track in parsedHint["tracks"].AsArray)
            {
                string trackID = track ["id"];
                // The consumer ignores the sequence number field in the hint for now;
                // As the consumer assumes it's getting the latest via outstanding interest.
                // Right now the consumer does not stop fetching tracks that have become inactive.
                // WHAT!!!!! EGM TODO!!!!
                if (!consumerOuterInstance.activeTracks.ContainsKey(trackID))
                {
                    if (!consumerOuterInstance.pendingTracks.ContainsKey(trackID))                       // if new track
                    {
                        consumerOuterInstance.addPendingTrack(trackID);
                    }
                }
            }
            consumerOuterInstance.expressHintInterest(data.getName().get(-1));              //exclues this interest
        }