예제 #1
0
        static void Main(string[] args)
        {
            try {
            var face = new Face("aleph.ndn.ucla.edu");

            var counter = new Counter();

            // Try to fetch anything.
            var name1 = new Name("/");
            Console.Out.WriteLine("Express name " + name1.toUri());
            face.expressInterest(name1, counter, counter);

            // Try to fetch using a known name.
            var name2 = new Name("/ndn/edu/ucla/remap/demo/ndn-js-test/hello.txt/%FDU%8D%9DM");
            Console.Out.WriteLine("Express name " + name2.toUri());
            face.expressInterest(name2, counter, counter);

            // Expect this to time out.
            var name3 = new Name("/test/timeout");
            Console.Out.WriteLine("Express name " + name3.toUri());
            face.expressInterest(name3, counter, counter);

            // The main event loop.
            while (counter.callbackCount_ < 3) {
              face.processEvents();
              // We need to sleep for a few milliseconds so we don't use 100% of the CPU.
              System.Threading.Thread.Sleep(5);
            }
              } catch (Exception e) {
            Console.Out.WriteLine("exception: " + e.Message);
              }
        }
예제 #2
0
        static void Main(string[] args)
        {
            try {
            var face = new Face
              (new TcpTransport(), new TcpTransport.ConnectionInfo("localhost"));

            var counter = new Counter1();

            Console.Out.WriteLine("Enter a word to echo:");
            var word = Console.In.ReadLine();

            var name = new Name("/testecho");
            name.append(word);
            Console.Out.WriteLine("Express name " + name.toUri());
            face.expressInterest(name, counter, counter);

            // The main event loop.
            while (counter.callbackCount_ < 1) {
              face.processEvents();

              // We need to sleep for a few milliseconds so we don't use 100% of the CPU.
              System.Threading.Thread.Sleep(5);
            }
              } catch (Exception e) {
            Console.Out.WriteLine("exception: " + e.Message);
              }
        }
        // Returns a CallbackCounter object so we can test data callback, nack callback
        // and timeout behavior.
        private static CallbackCounter runExpressNameTest(Face face,
				String interestName, double timeout, bool useOnNack)
        {
            Name name = new Name(interestName);
            CallbackCounter counter = new CallbackCounter();
            try {
                if (useOnNack)
                    // Debug: Use one of the simpler forms
                    face.expressInterest(new Interest(name), counter, counter,
                            counter, net.named_data.jndn.encoding.WireFormat.getDefaultWireFormat());
                else
                    face.expressInterest(name, counter, counter);
            } catch (IOException ex) {
                ILOG.J2CsMapping.Util.Logging.Logger.getLogger(typeof(TestFaceInterestMethods).FullName).log(
                        ILOG.J2CsMapping.Util.Logging.Level.SEVERE, null, ex);
                return null;
            }

            double startTime = getNowMilliseconds();
            while (getNowMilliseconds() - startTime < timeout
                    && counter.onDataCallCount_ == 0
                    && counter.onTimeoutCallCount_ == 0
                    && counter.onNetworkNackCallCount_ == 0) {
                try {
                    try {
                        face.processEvents();
                    } catch (IOException ex_0) {
                        ILOG.J2CsMapping.Util.Logging.Logger.getLogger(typeof(TestFaceInterestMethods).FullName)
                                .log(ILOG.J2CsMapping.Util.Logging.Level.SEVERE, null, ex_0);
                        break;
                    } catch (EncodingException ex_1) {
                        ILOG.J2CsMapping.Util.Logging.Logger.getLogger(typeof(TestFaceInterestMethods).FullName)
                                .log(ILOG.J2CsMapping.Util.Logging.Level.SEVERE, null, ex_1);
                        break;
                    }

                    // We need to sleep for a few milliseconds so we don't use 100% of the CPU.
                    ILOG.J2CsMapping.Threading.ThreadWrapper.sleep(10);
                } catch (ThreadInterruptedException ex_2) {
                    ILOG.J2CsMapping.Util.Logging.Logger.getLogger(typeof(TestFaceInterestMethods).FullName).log(
                            ILOG.J2CsMapping.Util.Logging.Level.SEVERE, null, ex_2);
                    break;
                }
            }

            return counter;
        }