blob: e8c82c5758080f9d41dcef5fa7b1783be1f2bbbd [file] [log] [blame]
Jeff Thompson47eecfc2013-07-07 22:56:46 -07001/**
2 * @author: Jeff Thompson
3 * See COPYING for copyright and distribution information.
Jeff Thompson3b3aabf2013-06-21 16:50:20 -07004 */
5
6#include <cstdlib>
7#include <sstream>
8#include <iostream>
Jeff Thompson22552902013-07-07 21:26:20 -07009#include <ndn-cpp/Interest.hpp>
Jeff Thompson3b3aabf2013-06-21 16:50:20 -070010
11using namespace std;
12using namespace ndn;
13
Jeff Thompson22552902013-07-07 21:26:20 -070014unsigned char Interest1[] = {
Jeff Thompson7afc98e2013-06-27 14:33:53 -0700150x01, 0xd2,
16 0xf2, 0xfa, 0x9d, 0x6e, 0x64, 0x6e, 0x00, 0xfa, 0x9d, 0x61, 0x62, 0x63, 0x00, 0x00,
Jeff Thompson06f824a2013-07-08 17:14:30 -070017 0x05, 0x9a, 0x9e, 0x31, 0x32, 0x33, 0x00,
Jeff Thompson7afc98e2013-06-27 14:33:53 -070018 0x05, 0xa2, 0x8e, 0x34, 0x00,
19 0x03, 0xe2,
20 0x02, 0x85, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
21 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
22 0x00,
Jeff Thompson22552902013-07-07 21:26:20 -070023#if 0
24 0x02, 0xda, 0xfa, 0x9d, 0x61, 0x62, 0x63, 0x00, 0xea, 0x00, 0x00,
Jeff Thompson539e79f2013-06-28 12:51:05 -070025#endif
Jeff Thompson22552902013-07-07 21:26:20 -070026 0x05, 0xaa, 0x8e, 0x31, 0x00,
27 0x02, 0xfa, 0x8e, 0x34, 0x00,
28 0x02, 0xd2, 0x8e, 0x32, 0x00,
29 0x03, 0x82, 0x9d, 0x01, 0xe0, 0x00, 0x00,
30 0x02, 0xca, 0xb5, 0x61, 0x62, 0x61, 0x62, 0x61, 0x62, 0x00,
310x00,
Jeff Thompson7afc98e2013-06-27 14:33:53 -0700321
33};
34
Jeff Thompson3b3aabf2013-06-21 16:50:20 -070035/*
36 *
37 */
Jeff Thompson7afc98e2013-06-27 14:33:53 -070038int main(int argc, char** argv)
39{
40 try {
Jeff Thompson22552902013-07-07 21:26:20 -070041 Interest interest;
42 interest.decode(Interest1, sizeof(Interest1));
43 cout << "Interest name " << interest.getName().to_uri() << endl;
Jeff Thompson06f824a2013-07-08 17:14:30 -070044 cout << "Interest minSuffixComponents " << interest.getMinSuffixComponents() << endl;
Jeff Thompson22552902013-07-07 21:26:20 -070045 cout << "InterestLifetime " << interest.getInterestLifetime() << endl;
Jeff Thompson2fb4b1b2013-07-01 15:10:43 -070046
Jeff Thompson1f3f5172013-07-01 19:02:36 -070047 vector<unsigned char> encoding;
Jeff Thompson22552902013-07-07 21:26:20 -070048 interest.encode(encoding);
Jeff Thompson06f824a2013-07-08 17:14:30 -070049 cout << "Interest encoding length " << encoding.size() << " vs. sizeof(Interest1) " << sizeof(Interest1) << endl;
50
51 Interest reDecodedInterest;
52 reDecodedInterest.decode(encoding);
53 cout << "Re-decoded Interest name " << reDecodedInterest.getName().to_uri() << endl;
54 cout << "Re-decoded Interest minSuffixComponents " << reDecodedInterest.getMinSuffixComponents() << endl;
55 cout << "Re-decoded InterestLifetime " << reDecodedInterest.getInterestLifetime() << endl;
Jeff Thompson7afc98e2013-06-27 14:33:53 -070056 } catch (exception &e) {
Jeff Thompson8b666002013-07-08 01:16:26 -070057 cout << "exception: " << e.what() << endl;
Jeff Thompson7afc98e2013-06-27 14:33:53 -070058 }
Jeff Thompson3b3aabf2013-06-21 16:50:20 -070059 return 0;
60}