āĻ‡āĻ‚āĻ°ā§‡āĻœāĻŋāĻĢāĻ°āĻžāĻ¸āĻŋāĻ¸ā§āĻĒā§āĻ¯āĻžāĻ¨āĻŋāĻļ

āĻ…āĻ¨āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻ¸ āĻĢā§‡āĻ­āĻŋāĻ•āĻ¨

ns-3-āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛ - āĻ•ā§āĻ˛āĻžāĻ‰āĻĄā§‡ āĻ…āĻ¨āĻ˛āĻžāĻ‡āĻ¨

āĻ‰āĻŦā§āĻ¨ā§āĻŸā§ āĻ…āĻ¨āĻ˛āĻžāĻ‡āĻ¨, āĻĢā§‡āĻĄā§‹āĻ°āĻž āĻ…āĻ¨āĻ˛āĻžāĻ‡āĻ¨, āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹āĻœ āĻ…āĻ¨āĻ˛āĻžāĻ‡āĻ¨ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻŦāĻž MAC OS āĻ…āĻ¨āĻ˛āĻžāĻ‡āĻ¨ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ OnWorks āĻĢā§āĻ°āĻŋ āĻšā§‹āĻ¸ā§āĻŸāĻŋāĻ‚ āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻ•āĻžāĻ°ā§€āĻ¤ā§‡ ns-3-āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛ āĻšāĻžāĻ˛āĻžāĻ¨

āĻāĻŸāĻŋ āĻšāĻ˛ ns-3-āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ¯āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻŦāĻŋāĻ¨āĻžāĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻ…āĻ¨āĻ˛āĻžāĻ‡āĻ¨ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻ¸ā§āĻŸā§‡āĻļāĻ¨ āĻ¯ā§‡āĻŽāĻ¨ āĻ‰āĻŦā§āĻ¨ā§āĻŸā§ āĻ…āĻ¨āĻ˛āĻžāĻ‡āĻ¨, āĻĢā§‡āĻĄā§‹āĻ°āĻž āĻ…āĻ¨āĻ˛āĻžāĻ‡āĻ¨, āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹āĻœ āĻ…āĻ¨āĻ˛āĻžāĻ‡āĻ¨ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻŦāĻž MAC OS āĻ…āĻ¨āĻ˛āĻžāĻ‡āĻ¨ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ OnWorks āĻĢā§āĻ°āĻŋ āĻšā§‹āĻ¸ā§āĻŸāĻŋāĻ‚ āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻ•āĻžāĻ°ā§€āĻ¤ā§‡ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ•āĻžāĻ°ā§āĻ¯āĻ•ā§āĻ°āĻŽ:

NAME āĻāĻ°


ns-3-āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛ - ns-3 āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛

āĻāĻ‡ ns-3 āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛. ns-3 āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻĒāĻžāĻāĻšāĻŸāĻŋāĻ¤ā§‡ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧ
āĻĢāĻ°ā§āĻŽ:

¡ ns-3 āĻ…āĻ•ā§āĻ¸āĻŋāĻœā§‡āĻ¨: āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡āĻ° āĻĒāĻžāĻŦāĻ˛āĻŋāĻ• API-āĻāĻ° āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨

¡ āĻŸāĻŋāĻ‰āĻŸā§‹āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛, āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛ (āĻāĻ‡ āĻ¨āĻĨāĻŋ), āĻāĻŦāĻ‚ āĻŽāĻĄā§‡āĻ˛ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ°ā§āĻŦāĻļā§‡āĻˇ āĻŽā§āĻ•ā§āĻ¤āĻŋ āĻāĻŦāĻ‚
āĻ‰āĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ āĻŦā§ƒāĻ•ā§āĻˇ

¡ ns-3 āĻ‰āĻ‡āĻ•āĻŋ

āĻ¸ā§āĻšāĻŋāĻĒāĻ¤ā§āĻ°


āĻ¸āĻ‚āĻ—āĻ āĻ¨
āĻāĻ‡ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ āĻ¸āĻžāĻŽāĻ—ā§āĻ°āĻŋāĻ• āĻŦāĻ°ā§āĻŖāĻ¨āĻž ns-3 āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ¸āĻ‚āĻ¸ā§āĻĨāĻž āĻāĻŦāĻ‚ āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ
āĻāĻ‡ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŸāĻŋāĻ° āĻ¸āĻ‚āĻ—āĻ āĻ¨āĨ¤

ns-3 āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻšā§āĻ›āĻŋāĻ¨ā§āĻ¨-āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻ¯āĻžāĻ¤ā§‡ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ•ā§‹āĻ° āĻāĻŦāĻ‚ āĻŽāĻĄā§‡āĻ˛ āĻĨāĻžāĻ•ā§‡
C++ āĻ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ ns-3 āĻāĻ•āĻŸāĻŋ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻ¯āĻž āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻŦāĻž āĻ—āĻ¤āĻŋāĻļā§€āĻ˛ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻāĻ•āĻŸāĻŋ C++ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ¯āĻž āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻŸāĻĒā§‹āĻ˛āĻœāĻŋ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ° ns-3 āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ āĻĒāĻžāĻ‡āĻĨāĻ¨ā§‡ āĻāĻ° āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻ¸āĻŽāĻ¸ā§āĻ¤ API āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋ āĻ•āĻ°ā§‡, āĻ¯āĻž āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧ
āĻ…āĻ¨ā§‡āĻ•āĻŸāĻž āĻāĻ•āĻ‡āĻ­āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ "ns3" āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ†āĻŽāĻĻāĻžāĻ¨āĻŋ āĻ•āĻ°ā§āĻ¨ ns-3 āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸā§‡āĻŦāĻ˛ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ˛āĻŋāĻ™ā§āĻ• āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
C++ āĻāĨ¤
[āĻ›āĻŦāĻŋ] āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ¸āĻ‚āĻ¸ā§āĻĨāĻž ns-3.UNINDENT

āĻāĻ° āĻ‰āĻ¤ā§āĻ¸ āĻ•ā§‹āĻĄ ns-3 āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ¸āĻ‚āĻ—āĻ āĻŋāĻ¤ āĻšāĻ¯āĻŧ src āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻāĻŦāĻ‚ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻŽāĻ§ā§āĻ¯ā§‡ āĻšāĻŋāĻ¤ā§āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻĢāĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ¸āĻ‚āĻ—āĻ āĻ¨ of ns-3. āĻ†āĻŽāĻ°āĻž āĻ¨āĻŋāĻš āĻĨā§‡āĻ•ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŽāĻ¤ āĻ•āĻžāĻœ āĻ•āĻ°āĻŦ
āĻ†āĻĒ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ­āĻžāĻŦā§‡, āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻšāĻŋāĻ¤ā§āĻ°ā§‡āĻ° āĻ¨ā§€āĻšā§‡āĻ° āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻļā§€āĻ˛āĻ¤āĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ā§ˇ

āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡āĻ° āĻŽā§‚āĻ˛ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻŋ; āĻ¸āĻŦ āĻœā§āĻĄāĻŧā§‡ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ¯ā§‡ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨
āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛, āĻšāĻžāĻ°ā§āĻĄāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻāĻŦāĻ‚ āĻĒāĻ°āĻŋāĻŦā§‡āĻļāĻ—āĻ¤ āĻŽāĻĄā§‡āĻ˛āĨ¤ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ•ā§‹āĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻšāĻ¯āĻŧ
src/core. āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸāĻ—ā§āĻ˛āĻŋ āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡ āĻŽā§ŒāĻ˛āĻŋāĻ• āĻŦāĻ¸ā§āĻ¤ā§ āĻāĻŦāĻ‚ āĻāĻ¤ā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
src/āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•. āĻāĻ‡ āĻĻā§āĻŸāĻŋ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¨āĻŋāĻœā§‡āĻĻā§‡āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ—āĻ āĻŋāĻ¤ āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ā§‡ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻœā§‡āĻ¨ā§‡āĻ°āĻŋāĻ• āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ•ā§‹āĻ° āĻ¯āĻž āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ§āĻ°āĻŖā§‡āĻ° āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻļā§āĻ§ā§ āĻ¨āĻ¯āĻŧ
āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ¨ā§‡āĻŸ āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ• āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĨ¤ āĻāĻ° āĻ‰āĻĒāĻ°ā§‡āĻ° āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻ—ā§āĻ˛āĻŋ ns-3 āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻĨā§‡āĻ•ā§‡ āĻ¸ā§āĻŦāĻžāĻ§ā§€āĻ¨
āĻāĻŦāĻ‚ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻŽāĻĄā§‡āĻ˛, āĻ¯āĻž āĻāĻ‡ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŸāĻŋāĻ° āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ…āĻ‚āĻļāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ•āĻ­āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻ‰āĻĒāĻ°ā§‡ āĻ›āĻžāĻĄāĻŧāĻžāĻ“ ns-3 āĻ•ā§‹āĻ°, āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ°āĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻŋ, āĻāĻ° āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻ…āĻ‚āĻļā§‡āĻ“
āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛, āĻ…āĻ¨ā§āĻ¯ āĻĻā§āĻŸāĻŋ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¯āĻž āĻŽā§‚āĻ˛ C++-āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ• API-āĻāĻ° āĻĒāĻ°āĻŋāĻĒā§‚āĻ°āĻ•āĨ¤ ns-3 āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ¸āĻŽāĻ¸ā§āĻ¤ API āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻŦāĻž āĻāĻ•āĻŸāĻŋ āĻ¤āĻĨāĻžāĻ•āĻĨāĻŋāĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€ āĻāĻĒāĻŋāĻ†āĻ‡ āĻ¯ā§‡ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻ•āĻ°ā§‡
āĻ¨āĻŋāĻŽā§āĻ¨-āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° API āĻ•āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻœāĻ¨āĻ• āĻŽā§‹āĻĄāĻŧāĻ• āĻŦāĻž āĻāĻ¨āĻ•ā§āĻ¯āĻžāĻĒāĻ¸ā§āĻ˛ā§‡āĻļāĻ¨āĨ¤ āĻŦā§āĻ¯āĻžāĻĒāĻžāĻ°āĻŸāĻž āĻšāĻšā§āĻ›ā§‡ ns-3 āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ
āĻĻā§āĻŸāĻŋ API-āĻ¤ā§‡ āĻ˛ā§‡āĻ–āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ (āĻŦāĻž āĻāĻ° āĻ¸āĻ‚āĻŽāĻŋāĻļā§āĻ°āĻŖ) āĻāĻ•āĻŸāĻŋ āĻŽā§ŒāĻ˛āĻŋāĻ• āĻĻāĻŋāĻ•
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻ¤āĻžāĻ“ āĻ†āĻŽāĻ°āĻž āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻŋ ns-3 āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĻāĻŋāĻ•ā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻ†āĻ—ā§‡
āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĒā§āĻ°āĻžāĻ¸āĻ™ā§āĻ—āĻŋāĻ•āĻ¤āĻžāĻ° āĻŽāĻĄā§‡āĻ˛āĨ¤

āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŸāĻŋāĻ° āĻŦāĻžāĻ•āĻŋ āĻ…āĻ‚āĻļāĻŸāĻŋ āĻŽāĻĄā§‡āĻ˛ā§‡āĻ° āĻ¨āĻĨāĻŋāĻ­ā§āĻ•ā§āĻ¤āĻ•āĻ°āĻŖ āĻāĻŦāĻ‚ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°āĻžāĻ° āĻ‰āĻĒāĻ° āĻĻā§ƒāĻˇā§āĻŸāĻŋ āĻ¨āĻŋāĻŦāĻĻā§āĻ§ āĻ•āĻ°ā§‡
āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ…āĻ‚āĻļ āĻĻā§āĻŸāĻŋ āĻŽā§ŒāĻ˛āĻŋāĻ• āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ‰āĻĒāĻ° āĻĢā§‹āĻ•āĻžāĻ¸ āĻ•āĻ°ā§‡ ns-3: āĻĻā§āĻ¯ āĻ¨ā§‹āĻĄ āĻāĻŦāĻ‚
āĻ¨ā§‡āĻŸāĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸. āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ‡āĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĻā§āĻŸāĻŋ āĻŦāĻŋāĻļā§‡āĻˇ NetDevice āĻĒā§āĻ°āĻ•āĻžāĻ° āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ•āĻ°āĻŖ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ āĻ‰ā§ŽāĻ¸āĻ°ā§āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ¨ā§‡āĻŸ-āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻŽāĻĄā§‡āĻ˛, āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ¨ā§‡āĻŸ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻ¸āĻ•ā§‡āĻŸ API āĻ¸āĻšāĨ¤ āĻĻā§āĻ¯
āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ•āĻ­āĻžāĻ° āĻ•āĻ°ā§‡, āĻāĻŦāĻ‚ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°ā§‡
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯, āĻ¯ā§‡āĻŽāĻ¨ āĻ…ā§āĻ¯āĻžāĻ¨āĻŋāĻŽā§‡āĻŸāĻ° āĻāĻŦāĻ‚ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨āĨ¤

āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻāĻŦāĻ‚ āĻŦā§ˆāĻ§āĻ¤āĻž āĻ¨āĻŋāĻŦā§‡āĻĻāĻŋāĻ¤ āĻāĻ•āĻŸāĻŋ āĻĒā§ƒāĻĨāĻ• āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛ āĻŦāĻœāĻžāĻ¯āĻŧ āĻ°āĻžāĻ–ā§‡ ns-3 āĻ•ā§‹āĻĄ
(āĻĻā§‡āĻ–ā§āĻ¨ ns-3 āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻŽā§‚āĻ˛āĻ• āĻāĻŦāĻ‚ āĻ­ā§āĻ¯āĻžāĻ˛āĻŋāĻĄā§‡āĻļāĻ¨ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛).

āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛
ns-3 āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻ¸āĻŋāĻ‰āĻĄā§‹-āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻ¨āĻŽā§āĻŦāĻ° āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸāĻ° (PRNG) āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻœāĻ¨ā§āĻ¯ āĻāĻŸāĻŋ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ
āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž, āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻāĻŦāĻ‚ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻŦā§‹āĻāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡āĻ° āĻ—ā§āĻ°ā§āĻ¤āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž
āĻāĻ‡ PRNG āĻāĻ°, āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ¤āĻžāĻ° āĻ—āĻŦā§‡āĻˇāĻŖāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¯āĻĨā§‡āĻˇā§āĻŸ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¤ā§‡āĨ¤

āĻĻā§āĻ°ā§āĻ¤ āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻŦāĻŋāĻŦāĻ°āĻŖ
ns-3 āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻĻā§ƒāĻˇā§āĻŸāĻžāĻ¨ā§āĻ¤ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ ns3::RandomVariable Stream.

¡ āĻ—āĻ¤āĻžāĻ¨ā§āĻ—āĻ¤āĻŋāĻ•, ns-3 āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻŦā§€āĻœ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°; āĻ•ā§‹āĻ¨ āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹āĻ¤āĻž āĻ†āĻ›ā§‡ āĻ¯āĻĻāĻŋ
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨, āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ°āĻžāĻ¨ āĻāĻ•āĻ‡ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĻā§‡āĻŦā§‡ āĻ¯āĻĻāĻŋ āĻ¨āĻž āĻŦā§€āĻœ āĻāĻŦāĻ‚/āĻ…āĻĨāĻŦāĻž
āĻ°āĻžāĻ¨ āĻ¨āĻŽā§āĻŦāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

¡ āĻ­āĻŋāĻ¤āĻ°ā§‡ ns-3.3 āĻāĻŦāĻ‚ āĻ†āĻ—ā§‡, ns-3 āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡ āĻāĻ•āĻŸāĻŋ āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻŦā§€āĻœ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡; āĻāĻ‡ āĻāĻ•āĻŸāĻŋ āĻšāĻŋāĻšā§āĻ¨
āĻĨā§‡āĻ•ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡ āĻ¨ā§€āĻ¤āĻŋāĻ¤ā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ ns-3.4.

¡ āĻ­āĻŋāĻ¤āĻ°ā§‡ ns-3.14 āĻāĻŦāĻ‚ āĻ†āĻ—ā§‡, ns-3 āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻ­āĻŋāĻ¨ā§āĻ¨ āĻ°â€ā§āĻ¯āĻžāĻĒāĻžāĻ° āĻ•ā§āĻ˛āĻžāĻ¸ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧ āĻ¯āĻžāĻ•ā§‡ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ
ns3::RandomVariableāĨ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ ns-3.15, āĻāĻ‡ āĻ•ā§āĻ˛āĻžāĻ¸ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
ns3::RandomVariable Stream; āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻ›āĻĻā§āĻŽ-āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻ¨āĻŽā§āĻŦāĻ° āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸāĻ° āĻ¨ā§‡āĻ‡
āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨āĨ¤

¡ āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ°āĻžāĻ¨ āĻœā§āĻĄāĻŧā§‡ āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹āĻ¤āĻž āĻĒā§‡āĻ¤ā§‡, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻŦā§€āĻœ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡
āĻ­āĻŋāĻ¨ā§āĻ¨āĻ­āĻžāĻŦā§‡ āĻŦāĻž āĻ°āĻžāĻ¨ āĻ¨āĻŽā§āĻŦāĻ° āĻ­āĻŋāĻ¨ā§āĻ¨āĻ­āĻžāĻŦā§‡ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻāĻ•āĻŸāĻŋ āĻŦā§€āĻœ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡, āĻ•āĻ˛ āĻ•āĻ°ā§āĻ¨
ns3::RngSeedManager::SetSeed() āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡āĻ° āĻļā§āĻ°ā§āĻ¤ā§‡; āĻ¸āĻ™ā§āĻ—ā§‡ āĻāĻ•āĻŸāĻŋ āĻ°āĻžāĻ¨ āĻ¨āĻŽā§āĻŦāĻ° āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡
āĻāĻ•āĻ‡ āĻŦā§€āĻœ, āĻ•āĻ˛ ns3::RngSeedManager::SetRun() āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡āĻ° āĻļā§āĻ°ā§āĻ¤ā§‡; āĻĻā§‡āĻ–āĻž
āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛.

¡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ RandomVariable Stream āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧ ns-3 āĻāĻ•āĻŸāĻŋ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻ¨āĻŽā§āĻŦāĻ° āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸāĻ° āĻ¯ā§āĻ•ā§āĻ¤ āĻ†āĻ›ā§‡
āĻāĻ° āĻ¸āĻžāĻĨā§‡; āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻŦāĻž āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻŦā§€āĻœ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡
āĻ—ā§āĻ˛ā§‹āĻŦāĻžāĻ˛ āĻŦā§€āĻœ (āĻ†āĻ—ā§‡āĻ° āĻŦā§āĻ˛ā§‡āĻŸ);

¡ āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻ‡ āĻĻā§ƒāĻļā§āĻ¯ā§‡āĻ° āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻ°āĻžāĻ¨ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨, āĻ­āĻŋāĻ¨ā§āĻ¨ āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻ¸āĻš
āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž, āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ¸ā§āĻŦāĻžāĻ§ā§€āĻ¨ āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋāĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧ āĻ¸ā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ…āĻ¨ā§āĻ—ā§āĻ°āĻš āĻ•āĻ°ā§‡ āĻŦāĻŋāĻ­āĻžāĻ—āĻŸāĻŋ āĻĒāĻĄāĻŧāĻ¤ā§‡ āĻ­ā§āĻ˛āĻŦā§‡āĻ¨ āĻ¨āĻž:
āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛.

āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻ¨āĻŽā§āĻŦāĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ†āĻ°āĻ“ āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻ°āĻ“ āĻĒāĻĄāĻŧā§āĻ¨ ns-3.

āĻĒāĻŸāĻ­ā§‚āĻŽāĻŋ
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ…āĻ¨ā§‡āĻ• āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡; āĻāĻ• āĻ—āĻŦā§‡āĻˇāĻŖāĻžāĻ¯āĻŧ āĻĻā§‡āĻ–āĻž āĻ—ā§‡āĻ›ā§‡ āĻ¯ā§‡ āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨
āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ¤ā§ˆāĻ°āĻŋāĻ¤ā§‡ CPU-āĻāĻ° 50% āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻŦā§āĻ¯āĻ¯āĻŧ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻšāĻ¤ā§‡ āĻšāĻŦā§‡
(āĻ›āĻĻā§āĻŽ) āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ° āĻ—ā§āĻŖāĻŽāĻžāĻ¨ āĻāĻŦāĻ‚ āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸ā§āĻŦāĻžāĻ§ā§€āĻ¨āĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ
āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ° āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĒā§āĻ°āĻŦāĻžāĻšāĨ¤

āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ‰āĻĻā§āĻŦāĻŋāĻ—ā§āĻ¨ āĻšāĻ¤ā§‡ āĻšāĻŦā§‡, āĻ¯ā§‡āĻŽāĻ¨:

¡ āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸāĻ°ā§‡āĻ° āĻŦā§€āĻœ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ•āĻŋāĻ¨āĻž
āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻ• āĻŦāĻž āĻ¨āĻž,

¡ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ° āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ¸ā§āĻŸā§āĻ°ā§€āĻŽ āĻ…āĻ°ā§āĻœāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧ āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻĨā§‡āĻ•ā§‡ āĻ¸ā§āĻŦāĻžāĻ§ā§€āĻ¨
āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ, āĻāĻŦāĻ‚

āĻ¸ā§āĻŸā§āĻ°ā§€āĻŽ āĻ¸āĻžāĻ‡āĻ•ā§‡āĻ˛ āĻšāĻ¤ā§‡ āĻ•āĻ¤āĻ•ā§āĻˇāĻŖ āĻ˛āĻžāĻ—ā§‡

āĻ†āĻŽāĻ°āĻž āĻāĻ–āĻžāĻ¨ā§‡ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻĒāĻĻ āĻĒā§āĻ°āĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻŦ: āĻāĻ•āĻŸāĻŋ RNG (āĻ›āĻĻā§āĻŽ) āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻāĻ•āĻŸāĻŋ āĻĻā§€āĻ°ā§āĻ˜ āĻ•ā§āĻ°āĻŽ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡
āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻāĻ‡ āĻ•ā§āĻ°āĻŽāĻŸāĻŋāĻ° āĻĻā§ˆāĻ°ā§āĻ˜ā§āĻ¯āĻ•ā§‡ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ āĻšāĻ•ā§āĻ° āĻ˛āĻŽā§āĻŦāĻž or āĻ•āĻžāĻ˛, āĻāĻ°āĻĒāĻ° āĻ•āĻŋ
RNG āĻ¨āĻŋāĻœā§‡āĻ‡ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋ āĻšāĻŦā§‡. āĻāĻ‡ āĻ•ā§āĻ°āĻŽāĻŸāĻŋ āĻŦāĻŋāĻ­āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ. āĻāĻ•āĻŸāĻŋ
āĻāĻ•āĻŸāĻŋ āĻ†āĻ°āĻāĻ¨āĻœāĻŋāĻ° āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ āĻšāĻ˛ āĻ†āĻ°āĻāĻ¨āĻœāĻŋ āĻ¸āĻŋāĻ•ā§‹āĻ¯āĻŧā§‡āĻ¨ā§āĻ¸ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ˛āĻ—ā§āĻ¨ āĻ‰āĻĒāĻ¸ā§‡āĻŸ āĻŦāĻž āĻŦā§āĻ˛āĻ•āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ¯āĻĻāĻŋ
RNG āĻ¸āĻŽāĻ¯āĻŧāĻ•āĻžāĻ˛ N āĻāĻ° āĻĻā§ˆāĻ°ā§āĻ˜ā§āĻ¯, āĻāĻŦāĻ‚ āĻāĻ‡ RNG āĻĨā§‡āĻ•ā§‡ āĻĻā§āĻŸāĻŋ āĻ¸ā§āĻŸā§āĻ°ā§€āĻŽ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻ°āĻĒāĻ° āĻĒā§āĻ°āĻĨāĻŽāĻŸāĻŋ
āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ āĻĒā§āĻ°āĻĨāĻŽ N/2 āĻŽāĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŦāĻ‚ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ N/2 āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻŽāĻžāĻ¨ āĻāĻ–āĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻšāĻ˛ āĻ¯ā§‡ āĻĻā§āĻŸāĻŋ āĻ§āĻžāĻ°āĻž āĻ…āĻ¸āĻ‚āĻ˛āĻ—ā§āĻ¨āĨ¤ āĻāĻ•āĻ‡āĻ­āĻžāĻŦā§‡,
āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¸ā§āĻŸā§āĻ°ā§€āĻŽ āĻ…āĻ¸āĻ‚āĻ˛āĻ—ā§āĻ¨ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¯āĻŧ āĻŦāĻŋāĻ­āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¸āĻžāĻŦāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ. āĻĻā§āĻ¯
āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ RNG āĻ†āĻļāĻž āĻ•āĻ°āĻŋ āĻ–ā§āĻŦ āĻĻā§€āĻ°ā§āĻ˜ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ›āĻĻā§āĻŽ-āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻ•ā§āĻ°āĻŽ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡
āĻšāĻ•ā§āĻ°ā§‡āĻ° āĻĻā§ˆāĻ°ā§āĻ˜ā§āĻ¯, āĻāĻŦāĻ‚ āĻāĻŸāĻŋāĻ•ā§‡ āĻ¸ā§āĻŸā§āĻ°ā§€āĻŽ āĻāĻŦāĻ‚ āĻ¸āĻžāĻŦāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽā§‡ āĻāĻ•āĻŸāĻŋ āĻĻāĻ•ā§āĻˇ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻļāĻ¨ āĻ•āĻ°ā§‡āĨ¤

ns-3 āĻāĻ•āĻ‡ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻ¨āĻŽā§āĻŦāĻ° āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ ns-2: MRG32k3a
Pierre L'Ecuyer āĻĨā§‡āĻ•ā§‡ āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸāĻ°āĨ¤ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻŦāĻŋāĻŦāĻ°āĻŖ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§‡
http://www.iro.umontreal.ca/~lecuyer/myftp/papers/streams00.pdf. MRG32k3a āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸāĻ°
1.8x10^{19} āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ° āĻ¸ā§āĻŦāĻžāĻ§ā§€āĻ¨ āĻ¸ā§āĻŸā§āĻ°ā§€āĻŽ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡, āĻ¯āĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋāĻ¤ā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡
2.3x10^{15} āĻ¸āĻžāĻŦāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽāĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¸āĻžāĻŦāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻĒāĻŋāĻ°āĻŋāĻ¯āĻŧāĻĄ āĻĨāĻžāĻ•ā§‡ (āĻ…āĻ°ā§āĻĨāĻžāĻ¤, āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž
āĻ“āĻ­āĻžāĻ°āĻ˛ā§āĻ¯āĻžāĻĒā§‡āĻ° āĻ†āĻ—ā§‡) 7.6x10^{22}āĨ¤ āĻĒā§āĻ°ā§‹ āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸāĻ°ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧāĻ•āĻžāĻ˛ āĻšāĻ˛ 3.1x10^{57}āĨ¤

āĻļā§āĻ°ā§‡āĻŖā§€ ns3::RandomVariable Stream āĻāĻ‡ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ° āĻ¸āĻ°ā§āĻŦāĻœāĻ¨ā§€āĻ¨ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸
āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸāĻ° āĻ¯āĻ–āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻ¨āĻ¤ā§āĻ¨ āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡ (āĻ¯ā§‡āĻŽāĻ¨ ns3::UniformRandomVariable,
ns3::ExponentialRandomVariable, āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋ), āĻ¤āĻžāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡ āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡
āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸāĻ°ā§‡āĻ° āĻ¸ā§āĻŦāĻ¤āĻ¨ā§āĻ¤ā§āĻ°, āĻ¸ā§āĻŦāĻžāĻ§ā§€āĻ¨ āĻ¸ā§āĻŸā§āĻ°ā§€āĻŽāĨ¤ āĻ…āĻ¤āĻāĻŦ, āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§āĻ°
āĻ†āĻĻāĻ°ā§āĻļ ns3::RandomVariable Stream āĻ§āĻžāĻ°āĻŖāĻžāĻ—āĻ¤āĻ­āĻžāĻŦā§‡ āĻāĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ "āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛" RNG āĻ†āĻ›ā§‡āĨ¤ āĻ‰āĻĒāĻ°āĻ¨ā§āĻ¤ā§,
āĻĒā§āĻ°āĻ¤āĻŋ ns3::RandomVariable Stream āĻ…āĻ™ā§āĻ•āĻŋāĻ¤ āĻ¸āĻžāĻŦāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽāĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¸ā§‡āĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻŽā§‚āĻ˛ āĻ¸ā§āĻ°ā§‹āĻ¤ āĻĨā§‡āĻ•ā§‡āĨ¤

āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻšāĻŦā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ RandomVariable āĻāĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž
(āĻ­āĻŋāĻ¨ā§āĻ¨āĻ­āĻžāĻŦā§‡ āĻŦā§€āĻœāĻ¯ā§āĻ•ā§āĻ¤) RNG. āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ†āĻŽāĻ°āĻž āĻĻā§ƒāĻĸāĻŧāĻ­āĻžāĻŦā§‡ āĻ—ā§āĻ¯āĻžāĻ°āĻžāĻ¨ā§āĻŸāĻŋ āĻĻāĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ āĻ¨āĻž āĻ¯ā§‡ āĻ­āĻŋāĻ¨ā§āĻ¨
āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ•ā§āĻ°āĻŽāĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻšā§€āĻ¨ āĻšāĻŦā§‡; āĻ¤āĻžāĻ‡, āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• RNG āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻ›āĻ¨ā§āĻĻ āĻ•āĻ°āĻŋ āĻāĻŦāĻ‚
āĻāĻŸāĻŋ āĻĨā§‡āĻ•ā§‡ āĻ¸ā§āĻ°ā§‹āĻ¤ āĻāĻŦāĻ‚ āĻ‰āĻĒāĻ§āĻžāĻ°āĻžāĨ¤

āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛
ns-3 āĻŦā§‡āĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸ āĻĨā§‡āĻ•ā§‡ āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡
āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ. āĻāĻ‡ āĻŦāĻ¸ā§āĻ¤ā§ āĻĨā§‡āĻ•ā§‡ āĻ‰āĻĻā§āĻ­ā§‚āĻ¤ ns3::āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻāĻŦāĻ‚ āĻ¸ā§āĻŽāĻžāĻ°ā§āĻŸ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧ
āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ°

āĻāĻ‡ āĻŦāĻ¸ā§āĻ¤ā§āĻ—ā§āĻ˛āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻ¸āĻ āĻŋāĻ• āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻšāĻ˛ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸā§‡āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž CreateObject<> āĻĒāĻĻā§āĻ§āĻ¤āĻŋ,
āĻ¯ā§‡āĻŽāĻ¨:

Ptr x = CreateObject ();

āĻ¤āĻžāĻ°āĻĒāĻ° āĻ†āĻĒāĻ¨āĻŋ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻ•āĻ˛ āĻ•āĻ°ā§‡ āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ¯ā§‡āĻŽāĻ¨:

myRandomNo = x->GetInteger ();

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻāĻ‡ āĻŽāĻ¤ āĻ•āĻŋāĻ›ā§ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§‡āĻ¨:

myRandomNo = UniformRandomVariable().GetInteger();

āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ­āĻžāĻœāĻ¨ āĻ¤ā§āĻ°ā§āĻŸāĻŋāĻ° āĻ¸āĻŽā§āĻŽā§āĻ–ā§€āĻ¨ āĻšāĻŦā§‡, āĻ•āĻžāĻ°āĻŖ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡
āĻ•āĻŋāĻ›ā§ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻ¯ā§‡ āĻ˜āĻŸā§‡ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¯āĻ–āĻ¨ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ.

āĻāĻ‡ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧā§‡āĻ° āĻŦāĻžāĻ•āĻŋ āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ—āĻ‡ āĻāĻ–āĻ¨ āĻ¸ā§āĻŸā§āĻ°ā§€āĻŽā§‡āĻ° āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°ā§‡
āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻŦāĻ¸ā§āĻ¤ā§ āĻĨā§‡āĻ•ā§‡ āĻ‰āĻ¤ā§āĻĒāĻ¨ā§āĻ¨ āĻ›āĻĻā§āĻŽ-āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž, āĻāĻŦāĻ‚ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻŦā§€āĻœ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ
āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸāĨ¤

seeding āĻāĻŦāĻ‚ āĻ¸ā§āĻŦāĻžāĻ§ā§€āĻ¨ āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋ
ns-3 āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻ• āĻŦāĻž āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ¯āĻĻāĻŋ
ns-3 āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻāĻ•āĻ‡ āĻ°āĻžāĻ¨ āĻ¨āĻŽā§āĻŦāĻ° āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ, āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻ• āĻŦā§€āĻœ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡,
āĻāĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻŦāĻžāĻ° āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻ•āĻ‡ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤

āĻ—āĻ¤āĻžāĻ¨ā§āĻ—āĻ¤āĻŋāĻ•, ns-3 āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻŦā§€āĻœ āĻāĻŦāĻ‚ āĻ°āĻžāĻ¨ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤ āĻāĻ‡ āĻŽāĻžāĻ¨ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻĻā§āĻ‡ ns3::āĻ—ā§āĻ˛ā§‹āĻŦāĻžāĻ˛ āĻ­ā§āĻ¯āĻžāĻ˛ā§ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ: g_rngSeed āĻāĻŦāĻ‚ g_rngRun.

āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ¸ā§āĻŦāĻžāĻ§ā§€āĻ¨ āĻŦāĻŋāĻšāĻžāĻ°ā§‡āĻ° āĻ•ā§āĻ°āĻŽ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧ, āĻ¯āĻžāĻ¤ā§‡
āĻĒā§āĻ°āĻšā§āĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻŖā§‡ āĻ¸ā§āĻŦāĻžāĻ§ā§€āĻ¨ āĻ°āĻžāĻ¨ā§‡āĻ° āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°ā§āĻ¨āĨ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻšāĻ¯āĻŧ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻŦā§ˆāĻļā§āĻŦāĻŋāĻ• āĻŦā§€āĻœ āĻāĻŦāĻ‚ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻšāĻžāĻ˛āĻžāĻ¨, āĻŦāĻž RNG āĻāĻ° āĻ¸āĻžāĻŦāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻ…āĻ—ā§āĻ°āĻ¸āĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ¯āĻž
āĻ°āĻžāĻ¨ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ.

āĻāĻ•āĻŸāĻŋ āĻļā§āĻ°ā§‡āĻŖā§€ ns3::RngSeedManager āĻ¸āĻŋāĻĄāĻŋāĻ‚ āĻāĻŦāĻ‚ āĻ°āĻžāĻ¨ āĻ¨āĻŽā§āĻŦāĻ° āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ API āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡
āĻ†āĻšāĻ°āĻŖ āĻāĻ‡ āĻ¸āĻŋāĻĄāĻŋāĻ‚ āĻāĻŦāĻ‚ āĻ¸āĻžāĻŦāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ āĻ¸ā§āĻŸā§‡āĻŸ āĻ¸ā§‡āĻŸāĻŋāĻ‚ āĻ•ā§‹āĻ¨ āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻ†āĻ—ā§‡ āĻ•āĻ˛ āĻ•āĻ°āĻž āĻ†āĻŦāĻļā§āĻ¯āĻ•
āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ; āĻ¯ā§‡āĻŽāĻ¨:

RngSeedManager::SetSeed (3); // āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻĨā§‡āĻ•ā§‡ āĻŦā§€āĻœ 1 āĻĨā§‡āĻ•ā§‡ 3 āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡
RngSeedManager::SetRun (7); // āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻĨā§‡āĻ•ā§‡ 1 āĻĨā§‡āĻ•ā§‡ 7 āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ°āĻžāĻ¨ āĻ¨āĻŽā§āĻŦāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡
// āĻāĻ–āĻ¨, āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨
Ptr x = CreateObject ();
Ptr y = CreateObject ();
...

āĻ•ā§‹āĻ¨āĻŸāĻŋ āĻ­āĻžāĻ˛, āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻŦā§€āĻœ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻŦāĻž āĻ¸āĻžāĻŦāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ āĻ¸ā§āĻŸā§‡āĻŸāĻ•ā§‡ āĻ…āĻ—ā§āĻ°āĻ¸āĻ° āĻ•āĻ°āĻž? āĻāĻŽāĻ¨ āĻ•āĻŋāĻ›ā§ āĻ¨ā§‡āĻ‡
āĻ—ā§āĻ¯āĻžāĻ°āĻžāĻ¨ā§āĻŸāĻŋ āĻ¯ā§‡ āĻĻā§āĻŸāĻŋ āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻŦā§€āĻœ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ‰āĻ¤ā§āĻĒāĻžāĻĻāĻŋāĻ¤ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ āĻ“āĻ­āĻžāĻ°āĻ˛ā§āĻ¯āĻžāĻĒ āĻšāĻŦā§‡ āĻ¨āĻžāĨ¤ āĻāĻ•āĻŽāĻžāĻ¤ā§āĻ° āĻ‰āĻĒāĻžāĻ¯āĻŧ
āĻ—ā§āĻ¯āĻžāĻ°āĻžāĻ¨ā§āĻŸāĻŋ āĻ¯ā§‡ āĻĻā§āĻŸāĻŋ āĻ¸ā§āĻŸā§āĻ°ā§€āĻŽ āĻ“āĻ­āĻžāĻ°āĻ˛ā§āĻ¯āĻžāĻĒ āĻšāĻ¯āĻŧ āĻ¨āĻž āĻ¤āĻž āĻšāĻ˛ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻ¸āĻžāĻŦāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž
RNG āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨āĨ¤ āĻ…āĻ¤āĻāĻŦ, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻĻā§āĻ¯ āĻ¸āĻžāĻŦāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ āĻ¸āĻžāĻŽāĻ°ā§āĻĨā§āĻ¯ āĻĨā§‡āĻ•ā§‡ āĻ‰ā§ŽāĻĒāĻžāĻĻāĻ¨ āĻ•āĻ°āĻž āĻŦāĻšā§
āĻ¸ā§āĻŦāĻžāĻ§ā§€āĻ¨ āĻ°āĻžāĻ¨ of āĻĻā§āĻ¯ āĻāĻ•āĻ‡ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨āĨ¤ āĻ…āĻ¨ā§āĻ¯ āĻ•āĻĨāĻžāĻ¯āĻŧ, āĻ†āĻ°āĻ“ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨āĻ—āĻ¤āĻ­āĻžāĻŦā§‡ āĻ•āĻ ā§‹āĻ°
āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻ¸ā§āĻŦāĻžāĻ§ā§€āĻ¨ āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻŦā§€āĻœ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻ…āĻ—ā§āĻ°āĻ¸āĻ° āĻšāĻ“āĻ¯āĻŧāĻž
āĻ°āĻžāĻ¨ āĻ¨āĻŽā§āĻŦāĻ°āĨ¤ āĻāĻ‡ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ¸āĻ°ā§āĻŦāĻžāĻ§āĻŋāĻ• 2.3x10^{15} āĻ¸ā§āĻŦāĻžāĻ§ā§€āĻ¨ āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧ
āĻ¸āĻžāĻŦāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋāĨ¤

āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻ¸ā§āĻŦāĻžāĻšā§āĻ›āĻ¨ā§āĻĻā§āĻ¯ā§‡āĻ° āĻœāĻ¨ā§āĻ¯, āĻŦā§€āĻœ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¨ā§‡āĻ‡
āĻ•āĻžāĻ°ā§āĻ¯āĻ•ā§āĻ°āĻŽ; āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ NS_GLOBAL_VALUE āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§‚āĻĒ:

$ NS_GLOBAL_VALUE="RngRun=3" ./waf --run āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ-āĻ¨āĻžāĻŽ

āĻāĻŸāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ•āĻ°āĻžāĻ° āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ-āĻ˛āĻžāĻ‡āĻ¨ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻž; āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻāĻ‡ āĻāĻ•āĻŸāĻŋ ns-3
GlobalValue āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡, āĻāĻŸāĻŋ āĻ¸āĻŽāĻ¤ā§āĻ˛ā§āĻ¯āĻ­āĻžāĻŦā§‡ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¯ā§‡āĻŽāĻ¨ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§‚āĻĒ:

$ ./waf --command-template="%s --RngRun=3" --āĻ°āĻžāĻ¨ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ-āĻ¨āĻžāĻŽ

āĻ…āĻĨāĻŦāĻž, āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ waf āĻāĻ° āĻŦāĻžāĻ‡āĻ°ā§‡ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻšāĻžāĻ˛āĻžāĻšā§āĻ›ā§‡āĻ¨:

$ ./build/optimized/scratch/program-name --RngRun=3

āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ•āĻŽāĻžāĻ¨ā§āĻĄ-āĻ˛āĻžāĻ‡āĻ¨ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻ—ā§āĻ˛āĻŋ āĻāĻ•āĻŸāĻŋ āĻļā§‡āĻ˛ āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ°āĻšā§āĻ° āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ°āĻžāĻ¨ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻ¸āĻšāĻœ āĻ•āĻ°ā§‡ āĻ¤ā§‹āĻ˛ā§‡
āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ āĻ­āĻŋāĻ¨ā§āĻ¨ RngRun āĻ¸ā§‚āĻšāĻ• āĻĒāĻžāĻ¸ āĻ•āĻ°ā§‡āĨ¤

āĻļā§āĻ°ā§‡āĻŖā§€ āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ
āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ•ā§āĻ˛āĻžāĻ¸ āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ āĻĻā§ˆāĻŦ āĻšāĻ˛āĻ•. āĻāĻ‡ āĻŦā§‡āĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡
āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻ¨āĻŽā§āĻŦāĻ° āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸāĻ°ā§‡āĻ° āĻ†āĻšāĻ°āĻŖ āĻŦāĻŋāĻļā§āĻŦāĻŦā§āĻ¯āĻžāĻĒā§€ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĨ¤ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤
āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĄāĻŋāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻļāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻŦā§ˆāĻšāĻŋāĻ¤ā§āĻ° āĻ†āĻāĻ•āĻžāĻ° āĻœāĻ¨ā§āĻ¯ API āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡
āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤āĨ¤

āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽāĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸāĻ° āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧ āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨
āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ PRNG āĻĨā§‡āĻ•ā§‡ RNGāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽāĨ¤ āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤, L'Ecuyer āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨
āĻ¸āĻ°ā§āĻŦāĻžāĻ§āĻŋāĻ• 1.8x10^19 āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛
āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋ āĻ“āĻ­āĻžāĻ°āĻ˛ā§āĻ¯āĻžāĻĒ āĻ•āĻ°āĻžāĻ° āĻ†āĻ—ā§‡ 7.6x10^22 āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻļā§āĻ°ā§‡āĻŖā§€ āĻĒā§āĻ°āĻ•āĻžāĻļā§āĻ¯ āĻāĻĒāĻŋāĻ†āĻ‡
āĻ¨ā§€āĻšā§‡ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻĒāĻžāĻŦāĻ˛āĻŋāĻ• āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ‰āĻĻā§āĻ§ā§ƒāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ āĻ¯ā§‡ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸
āĻ¸āĻžāĻŦāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽā§‡āĻ° āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻŽāĻžāĻ¨āĨ¤

/ **
* \brief āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻŦāĻ¨ā§āĻŸāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻĻā§āĻŦāĻŋāĻ—ā§āĻŖ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡
* \return āĻāĻ•āĻŸāĻŋ āĻĢā§āĻ˛ā§‹āĻŸāĻŋāĻ‚ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻŽāĻžāĻ¨
*/
āĻĄāĻŦāĻ˛ GetValue (āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°) const;

/ **
* \brief āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻŦāĻ¨ā§āĻŸāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻĒā§‚āĻ°ā§āĻŖāĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡
* \::GetValue() āĻāĻ° āĻĒā§‚āĻ°ā§āĻŖāĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ•āĻžāĻ¸ā§āĻŸ āĻĢā§‡āĻ°āĻ¤ āĻĻāĻŋāĻ¨
*/
uint32_t GetInteger (āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°) const;

āĻ†āĻŽāĻ°āĻž āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻ‰āĻĒāĻ°ā§‡ āĻŦāĻĒāĻ¨ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛
āĻ¸āĻžāĻŦāĻ•ā§āĻ˛āĻžāĻ¸ā§‡ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ API āĻĨāĻžāĻ•āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻĒā§āĻ°āĻ•āĻžāĻ°āĻ­ā§‡āĻĻ of āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛
āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻāĻŦāĻ‚ āĻ¨āĻĨāĻŋāĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ ns-3
āĻĄāĻ•ā§āĻ¸āĻŋāĻœā§‡āĻ¨ āĻ¨āĻžāĻ•āĻŋ āĻĒāĻĄāĻŧā§‡ src/core/model/random-variable-stream.h. āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻžāĻ“ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻ•ā§āĻ˛āĻžāĻ¸ āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻ•āĻ°ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻ•āĻžāĻ¸ā§āĻŸāĻŽ āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ.

¡ āĻ•ā§āĻ˛āĻžāĻ¸ UniformRandomVariable

¡ āĻ•ā§āĻ˛āĻžāĻ¸ ConstantRandomVariable

¡ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ…āĻ¨ā§āĻ•ā§āĻ°āĻŽāĻŋāĻ• āĻ°â€Œā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛

¡ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¸ā§‚āĻšāĻ•ā§€āĻ¯āĻŧ āĻ°â€Œā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛

¡ āĻ•ā§āĻ˛āĻžāĻ¸ ParetoRandomVariable

¡ āĻ•ā§āĻ˛āĻžāĻ¸ WeibullRandomVariable

¡ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ°â€Œā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛

¡ āĻ•ā§āĻ˛āĻžāĻ¸ LogNormalRandomVariable

¡ āĻ•ā§āĻ˛āĻžāĻ¸ GammaRandomVariable

¡ āĻ•ā§āĻ˛āĻžāĻ¸ ErlangRandomVariable

¡ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¤ā§āĻ°āĻŋāĻ­ā§āĻœāĻžāĻ•āĻžāĻ° āĻ°â€Œā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛

¡ āĻ•ā§āĻ˛āĻžāĻ¸ ZipfRandomVariable

¡ āĻ•ā§āĻ˛āĻžāĻ¸ ZetaRandomVariable

¡ āĻ•ā§āĻ˛āĻžāĻ¸ DeterministicRandomVariable

¡ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ…āĻ­āĻŋāĻœā§āĻžāĻ¤āĻžāĻŽā§‚āĻ˛āĻ• āĻ°â€Œā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛

āĻļāĻŦā§āĻĻāĻžāĻ°ā§āĻĨāĻŦāĻŋāĻĻā§āĻ¯āĻž of āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ āĻŦāĻ¸ā§āĻ¤ā§
RandomVariableStream āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ ns3::āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻāĻŦāĻ‚ āĻ¸ā§āĻŽāĻžāĻ°ā§āĻŸ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤

RandomVariableStream āĻĻā§ƒāĻˇā§āĻŸāĻžāĻ¨ā§āĻ¤ āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ ns-3 āĻ—ā§āĻŖāĻžāĻŦāĻ˛ā§€, āĻ¯āĻžāĻ° āĻŽāĻžāĻ¨ā§‡ āĻ¯ā§‡
āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŽāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ ns-3 āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĨ¤ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ†āĻ›ā§‡
WifiNetDevice-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻšāĻžāĻ° āĻŽāĻĄā§‡āĻ˛:

āĻŸāĻžāĻ‡āĻĒāĻ†āĻ‡āĻĄāĻŋ
āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻĒā§āĻ°āĻšāĻžāĻ° āĻŦāĻŋāĻ˛āĻŽā§āĻŦ āĻŽāĻĄā§‡āĻ˛::GetTypeId (āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°)
{
āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• TypeId tid = TypeId ("ns3::RandomPropagationDelayModel")
.SetParent ()
.AddConstructor ()
.AddAttribute ("āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛",
"āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ¯āĻž āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻŦāĻŋāĻ˛āĻŽā§āĻŦ (āĻ—ā§āĻ˛āĻŋ) āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĨ¤",
StringValue ("ns3::UniformRandomVariable"),
MakePointerAccessor (&RandomPropagationDelayModel::m_variable),
MakePointerChecker ())
;
āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ tid;
}

āĻāĻ–āĻžāĻ¨ā§‡ ns-3 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻāĻ‡ āĻŦāĻŋāĻ˛āĻŽā§āĻŦ āĻŽāĻĄā§‡āĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ (āĻ¯āĻž
0 āĻĨā§‡āĻ•ā§‡ 1 āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻāĻ•āĻŸāĻŋ UniformRandomVariable) āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡āĨ¤

āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĒāĻŋāĻ†āĻ°āĻāĻ¨āĻœāĻŋ
āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻ­āĻŋāĻ¨ā§āĻ¨ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§‹āĻ¨ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¨ā§‡āĻ‡
āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸāĻ° (āĻ¯ā§‡āĻŽāĻ¨, GNU āĻ¸āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻŋāĻĢāĻŋāĻ• āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻŦāĻž Akaroa āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ)āĨ¤ āĻĒā§āĻ¯āĻžāĻš āĻ¸ā§āĻŦāĻžāĻ—āĻ¤ āĻœāĻžāĻ¨āĻžāĻ‡.

āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻĻā§āĻ¯ āĻĒā§āĻ°āĻŦāĻžāĻš āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž
āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ MRG32k3a āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸāĻ° 2^64 āĻ¸ā§āĻŦāĻžāĻ§ā§€āĻ¨ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡āĨ¤ ns-3 āĻ, āĻāĻ—ā§āĻ˛ā§‹
āĻ¨āĻ¤ā§āĻ¨ RandomVariableStream āĻĻā§ƒāĻˇā§āĻŸāĻžāĻ¨ā§āĻ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻĒā§āĻ°āĻĨāĻŽ āĻ¸ā§āĻŸā§āĻ°ā§€āĻŽ āĻĨā§‡āĻ•ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡ āĻ•ā§āĻ°āĻŽāĻžāĻ¨ā§āĻ¸āĻžāĻ°ā§‡ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
GetValue() āĻ āĻ¤āĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻ•āĻ˛ āĻ•āĻ°ā§āĻ¨āĨ¤

āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻāĻ‡ RandomVariableStream āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸāĻ—ā§āĻ˛āĻŋ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻ¸ā§āĻŸā§āĻ°ā§€āĻŽāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¤āĻžāĻ° āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ,
āĻ…ā§āĻ¯āĻžāĻ¸āĻžāĻ‡āĻ¨āĻŽā§‡āĻ¨ā§āĻŸāĻŸāĻŋ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻāĻžāĻŽā§‡āĻ˛āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ‚āĻŦā§‡āĻĻāĻ¨āĻļā§€āĻ˛āĨ¤ āĻĻā§āĻ¯
āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻšāĻ˛ āĻ¯ā§‡ āĻ¯āĻĻāĻŋ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻ•ā§‹āĻ¨ āĻĻāĻŋāĻ• āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻŽā§āĻ¯āĻžāĻĒāĻŋāĻ‚
āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻ­ā§āĻ¯āĻžāĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻĨā§‡āĻ•ā§‡ āĻ¸ā§āĻŸā§āĻ°ā§€āĻŽ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ (āĻŦāĻž āĻ¨āĻžāĻ“ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡)āĨ¤

āĻāĻ•āĻŸāĻŋ āĻ•āĻ‚āĻ•ā§āĻ°āĻŋāĻŸ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻŋāĻ¸āĻžāĻŦā§‡, āĻāĻ•āĻœāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ°āĻžāĻ‰āĻŸāĻŋāĻ‚ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¤ā§āĻ˛āĻ¨āĻžāĻŽā§‚āĻ˛āĻ• āĻ…āĻ§ā§āĻ¯āĻ¯āĻŧāĻ¨ āĻšāĻžāĻ˛āĻžāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻāĻ•āĻŸāĻŋ āĻ°āĻžāĻ‰āĻŸāĻŋāĻ‚ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻ…āĻ¨ā§āĻ¯āĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻžāĻ° āĻ•āĻžāĻœāĻŸāĻŋ āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°āĻŦā§‡ āĻ¯ā§‡
āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻ—āĻ¤āĻŋāĻļā§€āĻ˛āĻ¤āĻžāĻ° āĻĒā§āĻ¯āĻžāĻŸāĻžāĻ°ā§āĻ¨āĻ“ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

ns-3.15 āĻĻāĻŋāĻ¯āĻŧā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻ•āĻŋāĻ›ā§ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
āĻāĻšā§āĻ›āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻŋāĻ¤ RandomVariableStream āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āĻ° āĻ…ā§āĻ¯āĻžāĻ¸āĻžāĻ‡āĻ¨āĻŽā§‡āĻ¨ā§āĻŸ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ā§‡ āĻ āĻŋāĻ• āĻ•āĻ°ā§āĻ¨
āĻĒā§āĻ°āĻŦāĻžāĻš āĻāĻ‡ āĻšāĻ˛ āĻĒā§āĻ°āĻŦāĻžāĻš āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯, āĻŦā§‡āĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸ RandomVariableStream āĻāĻ° āĻ…āĻ‚āĻļāĨ¤

āĻ†āĻ—ā§‡ āĻĨā§‡āĻ•ā§‡ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽāĻ—ā§āĻ˛āĻŋāĻ° āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ•ā§āĻ°āĻŽāĻ•ā§‡ āĻŦāĻŋāĻ­āĻžāĻœāĻ¨ āĻ•āĻ°ā§‡:

<---------------------------------------------------------------- -------------------------------------->
āĻ¸ā§āĻŸā§āĻ°ā§€āĻŽ 0 āĻ¸ā§āĻŸā§āĻ°ā§€āĻŽ (2^64 - 1)

āĻĻā§āĻŸāĻŋ āĻ¸āĻŽāĻžāĻ¨ āĻ†āĻ•āĻžāĻ°ā§‡āĻ° āĻ¸ā§‡āĻŸā§‡:

<---------------------------------------------------------------- -------------------------------------->
^ ^^ ^
| || |
āĻ¸ā§āĻŸā§āĻ°ā§€āĻŽ 0 āĻ¸ā§āĻŸā§āĻ°ā§€āĻŽ (2^63 - 1) āĻ¸ā§āĻŸā§āĻ°ā§€āĻŽ 2^63 āĻ¸ā§āĻŸā§āĻ°ā§€āĻŽ (2^64 - 1)
<- āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻŦāĻ°āĻžāĻĻā§āĻĻ -----------><- āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ ----------------->

āĻĒā§āĻ°āĻĨāĻŽ 2^63 āĻ¸ā§āĻŸā§āĻ°ā§€āĻŽāĻ—ā§āĻ˛āĻŋ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°āĻž āĻ…āĻŦā§āĻ¯āĻžāĻšāĻ¤ āĻĨāĻžāĻ•ā§‡, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻļā§‡āĻˇ 2^63āĻŸāĻŋ āĻšāĻ¯āĻŧā§ˇ
2^63-1 āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻļā§‚āĻ¨ā§āĻ¯ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻļā§āĻ°ā§ āĻšāĻ“āĻ¯āĻŧāĻž āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ āĻ¸ā§‚āĻšāĻ•āĨ¤

āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ āĻ¨āĻŽā§āĻŦāĻ°ā§‡ āĻ¸ā§āĻŸā§āĻ°ā§€āĻŽāĻ—ā§āĻ˛āĻŋāĻ° āĻ¨āĻŋāĻ¯āĻŧā§‹āĻ— āĻāĻšā§āĻ›āĻŋāĻ•; āĻāĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ
RandomVariableStream āĻ¯ā§‡āĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸ā§āĻŸā§āĻ°ā§€āĻŽ āĻŽāĻžāĻ¨ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ¨ā§‡āĻ‡ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻĒāĻ°ā§‡āĻ°āĻŸāĻŋ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°āĻž āĻšāĻŦā§‡ā§ˇ
āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻĒā§āĻ°āĻŦāĻžāĻšā§‡āĻ° āĻĒā§āĻ˛ āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻŸāĻŋāĨ¤

āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻ¸ā§āĻŸā§āĻ°ā§€āĻŽā§‡ āĻāĻ•āĻŸāĻŋ RandomVariableStream āĻ āĻŋāĻ• āĻ•āĻ°āĻ¤ā§‡, āĻāĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§āĻ¨ āĻĒā§āĻ°āĻŦāĻžāĻš
āĻāĻ•āĻŸāĻŋ āĻ… āĻ¨ā§‡āĻ¤āĻŋāĻŦāĻžāĻšāĻ• āĻĒā§‚āĻ°ā§āĻŖāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ° āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ (-1 āĻāĻ° āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŽāĻžāĻ¨ āĻŽāĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻŽāĻžāĻ¨ āĻšāĻŦā§‡
āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻŦāĻ°āĻžāĻĻā§āĻĻ)āĨ¤

āĻĒā§āĻ°āĻ•āĻžāĻļāĻ• āĻ¤ā§‹āĻŽāĻžāĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛
āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻ–āĻ¨ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĒā§āĻ°āĻ•āĻžāĻļ āĻ•āĻ°ā§‡āĻ¨, āĻ¤āĻ–āĻ¨ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¤āĻĨā§āĻ¯ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻŽā§‚āĻ˛ āĻ…āĻ‚āĻļ āĻ¯āĻž āĻ†āĻĒāĻ¨āĻŋ
āĻ†āĻĒāĻ¨āĻŋ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻ¨āĻŽā§āĻŦāĻ° āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨ āĻ¤āĻž āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻŦāĻ˛āĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻ•ā§‹āĻ¨ āĻŦā§€āĻœ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨,

āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻ¨āĻž āĻšāĻ˛ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ•ā§‹āĻ¨ RNG āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨,

āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ¸ā§āĻŦāĻžāĻ§ā§€āĻ¨ āĻ°āĻžāĻ¨ āĻ¸āĻžā§āĻšāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡,

¡ āĻŦāĻĄāĻŧ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻĒāĻ¨āĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻžāĻ‡āĻ•ā§‡āĻ˛ āĻšāĻžāĻ˛āĻžāĻ¨āĻ¨āĻŋāĨ¤

āĻāĻŸāĻŋ āĻ¯āĻĨā§‡āĻˇā§āĻŸ āĻ¤āĻĨā§āĻ¯ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĒā§āĻ°āĻ•āĻžāĻļā§‡āĻ° āĻ—āĻŦā§‡āĻˇāĻ•ā§‡āĻ° āĻĻāĻžāĻ¯āĻŧāĻŋāĻ¤ā§āĻŦ
āĻ…āĻ¨ā§āĻ¯āĻĻā§‡āĻ° āĻ¤āĻžāĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĒā§āĻ¨āĻ°ā§āĻ¤ā§āĻĒāĻžāĻĻāĻ¨ āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻāĻŋāĻ¨āĨ¤ āĻāĻŸāĻž āĻ—āĻŦā§‡āĻˇāĻ•ā§‡āĻ°āĻ“ āĻĻāĻžāĻ¯āĻŧāĻŋāĻ¤ā§āĻŦ
āĻ¨āĻŋāĻœā§‡āĻ•ā§‡ āĻŦā§‹āĻāĻžāĻ¨ āĻ¯ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ—ā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨āĻ—āĻ¤āĻ­āĻžāĻŦā§‡ āĻŦā§ˆāĻ§ āĻ›āĻŋāĻ˛, āĻāĻŦāĻ‚ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯
āĻ•āĻžāĻ—āĻœ āĻ•ā§‡āĻ¨ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ†āĻ¸ā§āĻĨāĻž āĻ…āĻ¨ā§āĻŽāĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ.

āĻ¸āĻžāĻ°āĻžāĻ‚āĻļ
āĻāĻ•āĻŸāĻŋ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•ā§€ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ¤āĻž āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻ¯āĻžāĻ•āĨ¤

¡ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻĨāĻŋāĻ° āĻŦā§€āĻœ āĻŦāĻž āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻŦā§€āĻœ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻĻā§ŒāĻĄāĻŧāĻžāĻšā§āĻ›ā§‡āĻ¨ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§āĻ¨; āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻŦā§€āĻœ āĻšāĻ¯āĻŧ
āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ,

¡ āĻĒā§āĻ°āĻ¯ā§‹āĻœā§āĻ¯ āĻšāĻ˛ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ¸ā§āĻŦāĻžāĻ§ā§€āĻ¨ āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋāĻ—ā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§āĻ¨,

āĻ¨āĻŋāĻœā§‡āĻ•ā§‡ āĻŦā§‹āĻāĻžāĻ¨ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻšāĻ•ā§āĻ°ā§‡āĻ° āĻĻā§ˆāĻ°ā§āĻ˜ā§āĻ¯ā§‡āĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻŦā§‡āĻļāĻŋ āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻŽāĻžāĻ¨ āĻ†āĻāĻ•āĻ›ā§‡āĻ¨ āĻ¨āĻž, āĻ¯āĻĻāĻŋ
āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻ–ā§āĻŦ āĻĻā§€āĻ°ā§āĻ˜ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻšāĻžāĻ˛āĻžāĻšā§āĻ›ā§‡āĻ¨, āĻāĻŦāĻ‚

¡ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻ–āĻ¨ āĻĒā§āĻ°āĻ•āĻžāĻļ āĻ•āĻ°ā§‡āĻ¨, āĻ¤āĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¨āĻĨāĻŋāĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§‡ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻŋāĻ•āĻž āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ āĻ•āĻ°ā§āĻ¨
āĻ¨āĻŽā§āĻŦāĻ° āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸāĻ°āĨ¤

āĻ•āĻžāĻŸāĻž āĻ•āĻžāĻ°ā§āĻ¯āĻžāĻŦāĻ˛ā§€
ns-3 āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ āĻšā§āĻ¯āĻžāĻļ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻāĻ•āĻŸāĻŋ āĻœā§‡āĻ¨ā§‡āĻ°āĻŋāĻ• āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡. āĻ¸āĻšāĻœā§‡
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°, āĻšā§āĻ¯āĻžāĻļ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻāĻ•āĻŸāĻŋ āĻĄā§‡āĻŸāĻž āĻŦāĻžāĻĢāĻžāĻ° āĻŦāĻž āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻāĻ° 32-āĻŦāĻŋāĻŸ āĻŦāĻž 64-āĻŦāĻŋāĻŸ āĻšā§āĻ¯āĻžāĻļ āĻĢā§‡āĻ°āĻ¤ āĻĻā§‡āĻ¯āĻŧāĨ¤
āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻšā§āĻ¯āĻžāĻļ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻšāĻ¯āĻŧ murmur3, āĻŦā§‡āĻ›ā§‡ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ•āĻžāĻ°āĻŖ āĻāĻŸāĻŋāĻ° āĻšā§āĻ¯āĻžāĻļ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ­āĻžāĻ˛ā§‹
āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ 64-āĻŦāĻŋāĻŸ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ…āĻĢāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤ āĻĒā§‚āĻœāĻ¨ā§€āĻ¯āĻŧ FNV1a āĻšā§āĻ¯āĻžāĻļāĻ“ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤

āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻšā§āĻ¯āĻžāĻļ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° (āĻŦāĻž āĻ°āĻžāĻ¨ āĻŸāĻžāĻ‡āĻŽā§‡ āĻĒā§āĻ°āĻĻāĻžāĻ¨) āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ¸ā§‹āĻœāĻž-āĻ†āĻ—āĻžāĻŽā§€ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ†āĻ›ā§‡
āĻĢāĻžāĻ‚āĻļāĻ¨ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨āĨ¤

āĻŽā§ŒāĻ˛āĻŋāĻ• āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°
āĻāĻ•āĻŸāĻŋ āĻĄā§‡āĻŸāĻž āĻŦāĻžāĻĢāĻžāĻ° āĻŦāĻž āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻšā§āĻ¯āĻžāĻļ āĻŽāĻžāĻ¨ āĻĒāĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻ¸āĻšāĻœ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻšāĻ˛:

# "ns3/hash.h" āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§āĻ¨

āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ ns3 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡;

char * āĻŦāĻžāĻĢāĻžāĻ° = ...
size_t āĻŦāĻžāĻĢāĻžāĻ°_size = ...

uint32_t buffer_hash = Hash32 ( āĻŦāĻžāĻĢāĻžāĻ°, āĻŦāĻžāĻĢāĻžāĻ°_āĻ¸āĻžāĻ‡āĻœ);

std::āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ s;
uint32_t string_hash = Hash32(s);

64-āĻŦāĻŋāĻŸ āĻšā§āĻ¯āĻžāĻļ āĻŽāĻžāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ¤ā§āĻ˛ā§āĻ¯ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

āĻ•ā§āĻ°āĻŽāĻŦāĻ°ā§āĻ§āĻŽāĻžāĻ¨ āĻšā§āĻ¯āĻžāĻļ
āĻ•āĻŋāĻ›ā§ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§‡ āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻŦāĻžāĻĢāĻžāĻ°ā§‡āĻ° āĻšā§āĻ¯āĻžāĻļ āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻĻāĻ°āĻ•āĻžāĻ°ā§€, āĻ¯ā§‡āĻ¨ āĻ¤āĻžāĻĻā§‡āĻ° āĻ›āĻŋāĻ˛
āĻāĻ•āĻ¸āĻžāĻĨā§‡ āĻ¯ā§‹āĻ—āĻĻāĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ (āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽā§‡āĻ° āĻšā§āĻ¯āĻžāĻļ āĻšāĻžāĻ‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¨āĻž
āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸā§‡āĻ° āĻ¸āĻŽā§āĻŽāĻŋāĻ˛āĻŋāĻ¤ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻŦāĻžāĻĢāĻžāĻ° āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡āĨ¤)

āĻāĻŸāĻŋ āĻĒā§āĻ°āĻĨāĻŽ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻŽāĻ¤ā§‹ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻ¸ā§‹āĻœāĻž-āĻ¸āĻžāĻŽāĻ¨ā§‡āĻ°:

# "ns3/hash.h" āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§āĻ¨

āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ ns3 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡;

char * āĻŦāĻžāĻĢāĻžāĻ°;
āĻ¸āĻžāĻ‡āĻœ_āĻŸāĻŋ āĻŦāĻžāĻĢāĻžāĻ°_āĻ¸āĻžāĻ‡āĻœ;

āĻšāĻžāĻļāĻ° āĻšāĻžāĻļāĻžāĻ°; // āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻšā§āĻ¯āĻžāĻļ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨

āĻœāĻ¨ā§āĻ¯ ( )
{
āĻŦāĻžāĻĢāĻžāĻ° = get_next_buffer ();
āĻšā§āĻ¯āĻžāĻļāĻžāĻ° (āĻŦāĻžāĻĢāĻžāĻ°, āĻŦāĻžāĻĢāĻžāĻ°_āĻ¸āĻžāĻ‡āĻœ);
}
uint32_t combined_hash = hasher.GetHash32 ();

āĻ—āĻ¤āĻžāĻ¨ā§āĻ—āĻ¤āĻŋāĻ• āĻšāĻžāĻļāĻžāĻ° āĻ•ā§āĻ°āĻŽāĻŦāĻ°ā§āĻ§āĻŽāĻžāĻ¨ āĻšā§āĻ¯āĻžāĻļāĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡ āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§‡āĨ¤ āĻ¯āĻĻāĻŋ āĻ¤ā§āĻŽāĻŋ āĻšāĻžāĻ“
āĻĒā§āĻ¨āĻƒāĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° a āĻšāĻžāĻļāĻžāĻ° āĻŦāĻ¸ā§āĻ¤ā§ (āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ āĻ•āĻžāĻ°āĻŖ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¨-āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻšā§āĻ¯āĻžāĻļā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
āĻĢāĻžāĻ‚āĻļāĻ¨), āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻĒā§‚āĻ°ā§āĻŦā§‡ āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻšā§āĻ¯āĻžāĻļā§‡ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨ āĻ¨āĻž, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ°()
āĻĒā§āĻ°āĻĨāĻŽ:

hasher.clear ().GetHash32 (āĻŦāĻžāĻĢāĻžāĻ°, āĻŦāĻžāĻĢāĻžāĻ°_āĻ¸āĻžāĻ‡āĻœ);

āĻāĻŸāĻŋ āĻŦāĻžāĻĢāĻžāĻ° āĻšā§āĻ¯āĻžāĻļ āĻ•āĻ°āĻžāĻ° āĻ†āĻ—ā§‡ āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻšāĻžāĻ˛ā§ āĻ•āĻ°ā§‡āĨ¤

āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° an āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ•āĻžāĻŸāĻž āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž
āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻšā§āĻ¯āĻžāĻļ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻšāĻ¯āĻŧ murmur3. FNV1a āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧ āĻšā§āĻ¯āĻžāĻļ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻ¤ā§‡
āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ­āĻžāĻŦā§‡ āĻĢāĻžāĻ‚āĻļāĻ¨, āĻāĻ‡ āĻ•āĻ¨ā§āĻŸā§āĻ°āĻžāĻ•ā§āĻŸāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨:

āĻšā§āĻ¯āĻžāĻļāĻžāĻ° āĻšā§āĻ¯āĻžāĻļāĻžāĻ° = āĻšāĻžāĻļāĻžāĻ° ( āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ ());

āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ•āĻžāĻŸāĻž āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡āĻ°
āĻšā§āĻ¯āĻžāĻļ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ foo āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸, āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ āĻ•āĻ°āĻž āĻšā§āĻ¯āĻžāĻļ- murmur3.h/.cc āĻĒā§āĻ¯āĻžāĻŸāĻžāĻ°ā§āĻ¨:

āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ˜ā§‹āĻˇāĻŖāĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ (.h) āĻāĻŦāĻ‚ āĻ¸āĻ‚āĻœā§āĻžāĻž (.cc) āĻĨā§‡āĻ•ā§‡ āĻ‰āĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ°āĻ¸ā§‚āĻ¤ā§āĻ°ā§‡ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž
āĻšā§āĻ¯āĻžāĻļ::āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨.

¡ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻŽāĻ§ā§āĻ¯ā§‡ āĻ˜ā§‹āĻˇāĻŖāĻž āĻšā§āĻ¯āĻžāĻļ (āĻŦāĻŋāĻ¨ā§āĻĻā§ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻšā§āĻ¯āĻžāĻļ- murmur3.h āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ.

¡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻŋāĻœā§‡āĻ° āĻ•ā§‹āĻĄā§‡, āĻ¤āĻžā§ŽāĻ•ā§āĻˇāĻŖāĻŋāĻ• a āĻšāĻžāĻļāĻžāĻ° āĻ•āĻ¨āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•ā§āĻŸāĻ°ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻšāĻžāĻļāĻžāĻ°
(Ptr ())

āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻšā§āĻ¯āĻžāĻļ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻĢāĻžāĻ‚āĻļāĻ¨ āĻšāĻ¯āĻŧ, āĻ¯ā§‡āĻŽāĻ¨ āĻšā§āĻ¯āĻžāĻļāĻĢ, āĻ†āĻĒāĻ¨āĻŋ āĻāĻŽāĻ¨āĻ•āĻŋ āĻāĻ•āĻŸāĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¨āĻž
āĻšā§āĻ¯āĻžāĻļ āĻ‡āĻŽāĻĒā§āĻ˛āĻŋāĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻ¨āĻ¤ā§āĻ¨ āĻ•ā§āĻ˛āĻžāĻ¸:

āĻšāĻžāĻļāĻ° āĻšāĻžāĻļāĻ°=
āĻšā§āĻ¯āĻžāĻļāĻžāĻ° ( āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ (&āĻšāĻžāĻļāĻĢ));

āĻāĻ‡ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻĒāĻ¨āĻžāĻ° āĻšā§āĻ¯āĻžāĻļāĻĢ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻ¸ā§āĻŦāĻžāĻ•ā§āĻˇāĻ°āĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻŽā§‡āĻ˛āĻžāĻ¤ā§‡ āĻšāĻŦā§‡:

typedef uint32_t (*Hash32Function_ptr) (const char *, const size_t);
typedef uint64_t (*Hash64Function_ptr) (const char *, const size_t);

āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ•āĻžāĻŸāĻž āĻ•āĻžāĻ°ā§āĻ¯āĻžāĻŦāĻ˛ā§€
āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻšā§āĻ¯āĻžāĻļ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻ‰āĻ¤ā§āĻ¸āĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:

¡ āĻĒāĻŋāĻŸāĻžāĻ° āĻ•āĻžāĻ¨āĻ•ā§‹āĻ¸ā§āĻ•āĻŋ: http://www.strchr.com

¡ āĻ†āĻ°āĻžāĻļ āĻĒāĻžāĻ°ā§āĻŸā§‹: http://www.partow.net/programming/hashfunctions/index.html

¡ SMHasher: http://code.google.com/p/smhasher/

¡ āĻ¸āĻžāĻ¨āĻŽāĻžāĻ¯āĻŧā§‡āĻ¸: http://www.sanmayce.com/Fastest_Hash/index.html

āĻ˜āĻŸāĻ¨āĻžāĻŦāĻ˛ā§€ āĻāĻŦāĻ‚ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°
ns-3 āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻšā§āĻ›āĻŋāĻ¨ā§āĻ¨-āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°āĨ¤ āĻ§āĻžāĻ°āĻŖāĻžāĻ—āĻ¤āĻ­āĻžāĻŦā§‡, āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻāĻ•āĻŸāĻŋ āĻŸā§āĻ°ā§āĻ¯āĻžāĻ• āĻ°āĻžāĻ–ā§‡
āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ¸āĻŽāĻ¯āĻŧā§‡ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĨ¤ āĻāĻ° āĻ•āĻžāĻœ
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻšāĻ˛ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ•ā§āĻ°āĻŽāĻžāĻ¨ā§āĻ¸āĻžāĻ°ā§‡ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻžāĨ¤ āĻāĻ° āĻ¸āĻŽāĻžāĻĒā§āĻ¤āĻŋ āĻāĻ•āĻŦāĻžāĻ°
āĻāĻ•āĻŸāĻŋ āĻ˜āĻŸāĻ¨āĻž āĻ˜āĻŸā§‡, āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°āĻŸāĻŋ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸā§‡ āĻšāĻ˛ā§‡ āĻ¯āĻžāĻŦā§‡ (āĻ…āĻĨāĻŦāĻž āĻ¯āĻĻāĻŋ āĻ¨āĻž āĻĨāĻžāĻ•ā§‡ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨ āĻ•āĻ°āĻŦā§‡
āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻ¸āĻžāĻ°āĻŋāĻ¤ā§‡ āĻ†āĻ°āĻ“ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ)āĨ¤ āĻ¯āĻĻāĻŋ, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻāĻ•āĻŸāĻŋ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ
"100 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ" āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻāĻŦāĻ‚ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ "200 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ" āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻ¨āĻž,
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻ…āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§‡ 100 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ āĻĨā§‡āĻ•ā§‡ 200 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡ (āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ°) āĻ˛āĻžāĻĢāĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻŦā§‡
āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ˜āĻŸāĻ¨āĻž āĻšāĻžāĻ˛āĻžāĻ¨āĨ¤ āĻāĻŸāĻŋ "āĻŦāĻŋāĻšā§āĻ›āĻŋāĻ¨ā§āĻ¨-āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ" āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦā§‹āĻāĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻāĻ‡ āĻ¸āĻŦ āĻ˜āĻŸāĻ¤ā§‡, āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻ•āĻŋāĻ›ā§ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨:

1. āĻāĻ•āĻŸāĻŋ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻ¸āĻžāĻ°āĻŋ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸāĻ—ā§āĻ˛āĻŋ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ˜āĻŸāĻ¨āĻž āĻ¸āĻžā§āĻšāĻžāĻ˛āĻ¨ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž

2. āĻ¸āĻžāĻ°āĻŋ āĻĨā§‡āĻ•ā§‡ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸāĻ—ā§āĻ˛āĻŋ āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§‡āĻļ āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻ…āĻĒāĻ¸āĻžāĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĻāĻžāĻ¯āĻŧā§€ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽāĻ¯āĻŧāĻ¸ā§‚āĻšā§€ā§ˇ

3. āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ¸āĻŽāĻ¯āĻŧ āĻĒā§āĻ°āĻ¤āĻŋāĻ¨āĻŋāĻ§āĻŋāĻ¤ā§āĻŦ āĻ•āĻ°āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻ¯āĻŧ

4. āĻ˜āĻŸāĻ¨āĻž āĻ¨āĻŋāĻœā§‡āĻĻā§‡āĻ°

āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŸāĻŋāĻ° āĻāĻ‡ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧāĻŸāĻŋ āĻāĻ‡ āĻŽā§ŒāĻ˛āĻŋāĻ• āĻŦāĻ¸ā§āĻ¤ā§āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°ā§‡ (āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°, āĻ¸āĻŽāĻ¯āĻŧāĻ¸ā§‚āĻšā§€,
āĻ¸āĻŽāĻ¯āĻŧ, āĻ˜āĻŸāĻ¨āĻž) āĻāĻŦāĻ‚ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ¤āĻžāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

āĻ˜āĻŸāĻ¨āĻž
āĻĨā§‡āĻ•ā§‡ be āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨

āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°
āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻļāĻŋāĻĄāĻŋāĻ‰āĻ˛āĻŋāĻ‚ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻ—ā§āĻ˛āĻŋ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻ•ā§āĻ˛āĻžāĻ¸ āĻšāĻ˛ āĻĒāĻžāĻŦāĻ˛āĻŋāĻ• āĻāĻ¨ā§āĻŸā§āĻ°āĻŋ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĨ¤ āĻāĻ•āĻĻāĻž
āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻĻāĻŽā§āĻĒāĻ¤āĻŋ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻļā§āĻ°ā§ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻļā§āĻ°ā§ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ˛ā§āĻĒā§‡ āĻĒā§āĻ°āĻŦā§‡āĻļ āĻ•āĻ°ā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻšāĻžāĻ˛āĻžāĻ¨ (āĻ•āĻ˛ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°::āĻšāĻžāĻ˛āĻžāĻ¨) āĻāĻ•āĻŦāĻžāĻ° āĻŽā§‚āĻ˛ āĻ˛ā§āĻĒ
āĻšāĻ˛āĻ¤ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡, āĻāĻŸāĻŋ āĻ•ā§āĻ°āĻŽāĻžāĻ¨ā§āĻ¸āĻžāĻ°ā§‡ āĻĒā§āĻ°āĻžāĻ¨ā§‹ āĻĨā§‡āĻ•ā§‡ āĻ•ā§āĻ°āĻŽāĻžāĻ¨ā§āĻ¸āĻžāĻ°ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻšāĻžāĻ˛āĻžāĻŦā§‡
āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻ¸āĻžāĻ°āĻŋāĻ¤ā§‡ āĻ†āĻ° āĻ•ā§‹āĻ¨ā§‹ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻŦāĻžāĻ•āĻŋ āĻ¨āĻž āĻĨāĻžāĻ•āĻž āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻŦāĻž
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°::āĻ¸ā§āĻŸāĻĒ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ˛ā§āĻĒ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻžā§āĻšāĻžāĻ˛āĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸāĻ—ā§āĻ˛āĻŋ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡, āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻ•ā§āĻ˛āĻžāĻ¸ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°::āĻļāĻŋāĻĄāĻŋāĻ‰āĻ˛* āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĒāĻ°āĻŋāĻŦāĻžāĻ°āĨ¤

1. āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ¸ā§āĻŦāĻžāĻ•ā§āĻˇāĻ° āĻ¸āĻš āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ°āĻĻā§‡āĻ° āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻŋāĻ‚

āĻāĻ‡ āĻĢāĻžāĻ‚āĻļāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ C++ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ˜ā§‹āĻˇāĻŖāĻž āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻŦāĻ¨ā§āĻ¯āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ C++ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ° āĻ¸ā§āĻŦāĻžāĻ•ā§āĻˇāĻ°ā§‡āĻ° āĻŦāĻŋāĻ¸ā§āĻ¤ā§ƒāĻ¤ āĻŦā§ˆāĻšāĻŋāĻ¤ā§āĻ°ā§āĻ¯āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽāĻ¯āĻŧāĻ¸ā§‚āĻšā§€ āĻ•āĻ°āĻ¤ā§‡
āĻ­āĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§‡ 10 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ, āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ C++ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻŦāĻž āĻĢāĻžāĻ‚āĻļāĻ¨ āĻšāĻžāĻ˛ā§ āĻ•āĻ°ā§āĻ¨
āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ, āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻŋ āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨:

āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ° (int arg0, int arg1)
{
std::cout << "āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ°āĻ•ā§‡ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻĄāĻžāĻ•āĻž āĻšāĻ¯āĻŧ arg0=" << arg0 << " āĻāĻŦāĻ‚
arg1=" << arg1 << std::endl;
}

āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°::āĻļāĻŋāĻĄāĻŋāĻ‰āĻ˛(āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ(10), &āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ°, 10, 5);

āĻ¯āĻž āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ•āĻ°āĻŦā§‡:

āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ° āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ arg0=10 āĻāĻŦāĻ‚ arg1=5 āĻ¸āĻš āĻ•āĻ˛ ​​āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ

āĻ…āĻŦāĻļā§āĻ¯āĻ‡, āĻāĻ‡ C++ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸāĻ—ā§āĻ˛āĻŋ C++ āĻ āĻ¸ā§āĻŦāĻšā§āĻ› āĻ¸āĻĻāĻ¸ā§āĻ¯ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋāĻ“ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻŦāĻ¸ā§āĻ¤ā§:

āĻĨā§‡āĻ•ā§‡ be āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨: āĻ¸āĻĻāĻ¸ā§āĻ¯ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ

āĻ¨ā§‹āĻŸ:

¡ ns-3 āĻ¤āĻĢāĻ¸āĻŋāĻ˛ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻāĻŦāĻ‚ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻšāĻŋāĻ¨āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¯āĻĻāĻŋ āĻ¤āĻžāĻ°āĻž
5 āĻŸāĻŋāĻ°āĻ“ āĻ•āĻŽ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻ¨āĻŋāĻ¨āĨ¤ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¯āĻĻāĻŋ āĻ†āĻ°āĻ“ āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¤āĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¯āĻŧ, āĻ…āĻ¨ā§āĻ—ā§āĻ°āĻš āĻ•āĻ°ā§‡, āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛ āĻ•āĻ°ā§āĻ¨
āĻŦāĻžāĻ— āĻ°āĻŋāĻĒā§‹āĻ°ā§āĻŸ

¡ 'āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ-āĻŦāĻžāĻ‰āĻ¨ā§āĻĄ āĻĢāĻžāĻ‚āĻļāĻ¨āĻ¸' āĻļāĻŦā§āĻĻāĻŸāĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ āĻĒāĻžāĻ āĻ•āĻ°āĻž āĻšāĻŋāĻ¨āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°:: āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻŦāĻ¸ā§āĻ¤ā§āĻ—ā§āĻ˛āĻŋ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¸āĻŽāĻ¯āĻŧāĻ¸ā§‚āĻšā§€ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĨ¤

2. āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻļāĻŋāĻĄāĻŋāĻ‰āĻ˛āĻŋāĻ‚ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨

āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧāĻ¸ā§‚āĻšā§€ āĻ•āĻ°āĻž āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ‡ āĻ¸āĻšāĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ° API āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻāĻŸāĻž
āĻāĻŸāĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻ°ā§‚āĻĒ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ (āĻ¸āĻ°ā§āĻŦāĻžāĻ§āĻŋāĻ• āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻ°ā§āĻŦāĻ¨āĻŋāĻŽā§āĻ¨ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻĨā§‡āĻ•ā§‡ āĻ…āĻ°ā§āĻĄāĻžāĻ° āĻ•āĻ°āĻž):

¡ āĻ¸āĻŽāĻ¯āĻŧāĻ¸ā§‚āĻšā§€ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¯āĻž āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻ­āĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ
āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ¸āĻŽāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻŸāĻžāĻ°ā§āĻ—ā§‡āĻŸ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻŽā§‡āĻ¯āĻŧāĻžāĻĻ āĻļā§‡āĻˇ āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻ¤āĻžāĻ°āĻŋāĻ–ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻŦāĻŋāĻ˛āĻŽā§āĻŦāĨ¤

¡ ScheduleNow āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¯āĻž āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ
āĻ¸āĻŽāĻ¯āĻŧ: āĻ¤āĻžāĻ°āĻž _after_ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸāĻŸāĻŋ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻž āĻļā§‡āĻˇ āĻšāĻŦā§‡ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ _for_the
āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ¸āĻŽāĻ¯āĻŧ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

¡ ScheduleDestroy āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¯āĻž āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡āĻ° āĻļāĻžāĻŸāĻĄāĻžāĻ‰āĻ¨ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ°āĻŋāĻ¸ā§‹āĻ°ā§āĻ¸ āĻ•ā§āĻ˛āĻŋāĻ¨āĻ†āĻĒ āĻ•āĻ°āĻ¤ā§‡: āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ•āĻ˛ āĻ•āĻ°āĻ˛ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ 'āĻĄāĻŋāĻ¸ā§āĻŸā§āĻ°āĻ¯āĻŧ' āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧ
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°::āĻ¨āĻˇā§āĻŸ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĨ¤

3. āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ— āĻŦāĻœāĻžāĻ¯āĻŧ āĻ°āĻžāĻ–āĻž

āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧāĻ¸ā§‚āĻšā§€ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĻā§āĻŸāĻŋ āĻŽā§ŒāĻ˛āĻŋāĻ• āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻ†āĻ›ā§‡, āĻ¸āĻ™ā§āĻ—ā§‡ āĻāĻŦāĻ‚ āĻ›āĻžāĻĄāĻŧāĻž āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ—āĨ¤ āĻāĻ‡ āĻ•āĻŋ
āĻāĻ° āĻ…āĻ°ā§āĻĨ āĻ•āĻŋ?

āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°::āĻļāĻŋāĻĄāĻŋāĻ‰āĻ˛ (āĻ¸āĻŽāĻ¯āĻŧ āĻ§āĻžāĻ°āĻŖ āĻ“ āĻ¸āĻŽāĻ¯āĻŧ, MEM mem_ptr, OBJ obj);

āĻŦāĻ¨āĻžāĻŽ

āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°::ScheduleWithContext (uint32_t āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ—, āĻ¸āĻŽāĻ¯āĻŧ āĻ•āĻ¨āĻ¸ā§āĻŸ & āĻ¸āĻŽāĻ¯āĻŧ, MEM mem_ptr, OBJ obj);

āĻĒāĻžāĻ āĻ• āĻ¯āĻžāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¨-āĻ¤ā§āĻšā§āĻ› āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻŽāĻĄā§‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻŦāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻļā§āĻ°āĻŽ āĻŦāĻŋāĻ¨āĻŋāĻ¯āĻŧā§‹āĻ— āĻ•āĻ°ā§‡āĻ¨
āĻ¸āĻšāĻœ āĻāĻŦāĻ‚ āĻœāĻŸāĻŋāĻ˛ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻĄāĻŋāĻŦāĻžāĻ— āĻ•āĻ°āĻ¤ā§‡ ns-3 āĻ˛āĻ—āĻŋāĻ‚ āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•ā§‡āĻ° āĻŽāĻžāĻ¨ āĻœāĻžāĻ¨āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡
āĻāĻ•āĻ‡āĻ­āĻžāĻŦā§‡ āĻāĻ‡ āĻ˛āĻ—āĻŋāĻ‚ āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻĻā§āĻŦāĻžāĻ°āĻž āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¯ā§‡ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻāĻ•
'āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§‡' āĻšāĻ˛āĻŽāĻžāĻ¨ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ¨ā§‹āĻĄ āĻ†āĻ‡āĻĄāĻŋāĻ° āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨āĨ¤

āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§‡ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°ā§€ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ¨ā§‹āĻĄā§‡āĻ° āĻ¨ā§‹āĻĄ āĻ†āĻ‡āĻĄāĻŋ āĻ†āĻ¸āĻ˛ā§‡ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻŸā§āĻ°ā§āĻ¯āĻžāĻ• āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻ•ā§āĻ˛āĻžāĻ¸ āĻāĻŸāĻŋ Simulator::GetContext āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¯āĻž āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻ•āĻ°ā§‡
'āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ—' (āĻāĻ•āĻŸāĻŋ 32-āĻŦāĻŋāĻŸ āĻĒā§‚āĻ°ā§āĻŖāĻ¸āĻ‚āĻ–ā§āĻ¯āĻž) āĻ¯ā§āĻ•ā§āĻ¤ āĻāĻŦāĻ‚ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§‡-āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšā§€ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŋāĻ¤āĨ¤ āĻ­āĻŋāĻ¤āĻ°ā§‡
āĻ•āĻŋāĻ›ā§ āĻŦāĻŋāĻ°āĻ˛ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ¯āĻ–āĻ¨ āĻāĻ•āĻŸāĻŋ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ¨ā§‹āĻĄā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻšāĻ¯āĻŧ āĻ¨āĻž, āĻāĻŸāĻŋ
'āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ—' 0xffffffff āĻ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ— āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡, āĻ¸āĻŽāĻ¯āĻŧāĻ¸ā§‚āĻšā§€, āĻāĻŦāĻ‚ ScheduleNow āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡
āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻĒā§āĻ°ā§‡āĻ•ā§āĻˇāĻžāĻĒāĻŸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§‡-āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšā§€ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ— āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨
āĻĒāĻ°ā§‡ āĻŽā§ƒāĻ¤ā§āĻ¯ā§āĻĻāĻ¨ā§āĻĄ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯āĨ¤

āĻ•āĻŋāĻ›ā§ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–āĻ¯ā§‹āĻ—ā§āĻ¯āĻ­āĻžāĻŦā§‡ āĻ¯āĻ–āĻ¨ āĻāĻ•āĻŸāĻŋ āĻ¨ā§‹āĻĄ āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸā§‡āĻ° āĻ¸āĻ‚āĻ•ā§āĻ°āĻŽāĻŖ āĻ…āĻ¨ā§āĻ•āĻ°āĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ, āĻāĻ‡ āĻ†āĻšāĻ°āĻŖāĻŸāĻŋ āĻ…āĻŦāĻžāĻžā§āĻ›āĻŋāĻ¤ āĻ•āĻžāĻ°āĻŖ āĻ…āĻ­ā§āĻ¯āĻ°ā§āĻĨāĻ¨āĻž āĻ…āĻ¨ā§āĻˇā§āĻ āĻžāĻ¨ā§‡āĻ° āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤ āĻĒā§āĻ°ā§‡āĻ•ā§āĻˇāĻžāĻĒāĻŸ
āĻ°āĻŋāĻ¸āĻŋāĻ­āĻŋāĻ‚ āĻ¨ā§‹āĻĄā§‡āĻ° āĻ¯ā§‡, āĻ¸ā§‡āĻ¨ā§āĻĄāĻŋāĻ‚ āĻ¨ā§‹āĻĄ āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻāĻĄāĻŧāĻžāĻ¤ā§‡, āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°
āĻ•ā§āĻ˛āĻžāĻ¸ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¸āĻŽāĻ¯āĻŧāĻ¸ā§‚āĻšā§€ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡: ScheduleWithContext āĻ¯āĻž āĻāĻ•āĻœāĻ¨āĻ•ā§‡ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ
āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ­āĻžāĻŦā§‡ āĻ°āĻŋāĻ¸āĻŋāĻ­ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻ°āĻŋāĻ¸āĻŋāĻ­āĻŋāĻ‚ āĻ¨ā§‹āĻĄā§‡āĻ° āĻ¨ā§‹āĻĄ āĻ†āĻ‡āĻĄāĻŋāĨ¤

XXX: āĻ•ā§‹āĻĄ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ

āĻ•āĻŋāĻ›ā§ āĻ–ā§āĻŦ āĻŦāĻŋāĻ°āĻ˛ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ—āĻŸāĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻŦāĻž āĻŦā§‹āĻāĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻĒā§āĻ°āĻĨāĻŽ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸā§‡āĻ° (āĻ¨ā§‹āĻĄ āĻ†āĻ‡āĻĄāĻŋ) āĻ¤āĻžāĻ° āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ āĻ¨ā§‹āĻĄā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻ‡ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻšāĻ¯āĻŧ
NodeList āĻ•ā§āĻ˛āĻžāĻ¸ āĻĻā§āĻŦāĻžāĻ°āĻž: āĻ¯āĻ–āĻ¨āĻ‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ¨ā§‹āĻĄ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, NodeList āĻ•ā§āĻ˛āĻžāĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡
ScheduleWithContext āĻāĻ‡ āĻ¨ā§‹āĻĄā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ 'āĻ¸ā§‚āĻšāĻ¨āĻž' āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡āĨ¤ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ 'āĻ¸ā§‚āĻšāĻ¨āĻž āĻ•āĻ°ā§āĻ¨'
āĻāĻ‡āĻ­āĻžāĻŦā§‡ āĻ¨ā§‹āĻĄ āĻ†āĻ‡āĻĄāĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ— āĻ¸āĻš āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻāĻ° āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŦā§ˆāĻšāĻŋāĻ¤ā§āĻ°ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ¸āĻŽāĻ¯āĻŧāĻ¸ā§‚āĻšā§€ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĨ¤ āĻāĻŸāĻŋ āĻ¨ā§‹āĻĄ::āĻ‡āĻ¨āĻŋāĻļāĻŋāĻ¯āĻŧāĻžāĻ˛āĻžāĻ‡āĻœ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ•ā§‡ āĻ†āĻšā§āĻŦāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻ¯āĻž 'āĻ‡āĻ¨āĻŋāĻļāĻŋāĻ¯āĻŧāĻžāĻ˛āĻžāĻ‡āĻœ' āĻĒā§āĻ°āĻšāĻžāĻ° āĻ•āĻ°ā§‡
āĻ¨ā§‹āĻĄā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻœāĻ¨ā§āĻ¯ DoInitialize āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ¤ā§‡ āĻ•āĻ˛ āĻ•āĻ°ā§‡ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸāĨ¤ āĻĻā§āĻ¯
DoInitialize āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻāĻ‡ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸāĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ•āĻŋāĻ›ā§āĻ¤ā§‡ āĻ“āĻ­āĻžāĻ°āĻ°āĻžāĻ‡āĻĄ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–āĻ¯ā§‹āĻ—ā§āĻ¯āĻ­āĻžāĻŦā§‡ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ā§‡
āĻŦā§‡āĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸) āĻ•āĻŋāĻ›ā§ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧāĻ¸ā§‚āĻšā§€ āĻ•āĻ°āĻŦā§‡ (āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–āĻ¯ā§‹āĻ—ā§āĻ¯āĻ­āĻžāĻŦā§‡ Application::StartApplication) āĻ¯āĻž
āĻŸā§āĻ°āĻžāĻĢāĻŋāĻ• āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻļāĻ¨ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧāĻ¸ā§‚āĻšā§€ āĻ•āĻ°āĻŦā§‡ āĻ¯āĻž āĻĒāĻžāĻ˛āĻž āĻ•āĻ°ā§‡ āĻ¸āĻŽāĻ¯āĻŧāĻ¸ā§‚āĻšā§€ āĻ•āĻ°āĻŦā§‡
āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•-āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻ˜āĻŸāĻ¨āĻžāĨ¤

āĻ¨ā§‹āĻŸ:

¡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻ•āĻ˛ āĻ•āĻ°ā§‡ āĻŦāĻ¸ā§āĻ¤ā§ āĻœā§āĻĄāĻŧā§‡ DoInitialize āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻ…āĻŦāĻ˛āĻŽā§āĻŦāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡
āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻĻāĻ¸ā§āĻ¯ āĻŦāĻ¸ā§āĻ¤ā§āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ­āĻžāĻŦā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°ā§āĻ¨

¡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ ScheduleWithContext āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ— āĻ†āĻ‡āĻĄāĻŋ āĻāĻ° āĻŦāĻžāĻ‡āĻ°ā§‡āĻ“ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡
āĻ˛āĻ—āĻŋāĻ‚: āĻāĻŸāĻŋ āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ¸āĻžā§āĻšāĻžāĻ˛āĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ ns-3 āĻāĻ° āĻāĻ•āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻŽā§‚āĻ˛āĻ• āĻļāĻžāĻ–āĻž āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧ
āĻŽāĻžāĻ˛ā§āĻŸāĻŋāĻ•ā§‹āĻ° āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻŽāĻžāĻ˛ā§āĻŸāĻŋāĻĨā§āĻ°ā§‡āĻĄāĻŋāĻ‚ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤

āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°::* āĻĢāĻžāĻ‚āĻļāĻ¨āĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ—āĻŸāĻŋ āĻ•ā§€ āĻ¤āĻž āĻœāĻžāĻ¨ā§‡ āĻ¨āĻž: āĻ¤āĻžāĻ°āĻž āĻ•ā§‡āĻŦāĻ˛ āĻāĻŸāĻŋ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°ā§‡
āĻ†āĻĒāĻ¨āĻŋ ScheduleWithContext āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§‡ āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ— āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°ā§‡āĻ¨ āĻ¤āĻž āĻĒā§āĻ°āĻžāĻ¸āĻ™ā§āĻ—āĻŋāĻ• āĻšāĻ˛ā§‡ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§
āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ ::GetContext āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ¸āĻžā§āĻšāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤

āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ— āĻŽāĻžāĻ¨ āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŸāĻŋ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°::* āĻāĻ° āĻ‰āĻĒāĻ°ā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻž āĻŽāĻĄā§‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡āĨ¤
ns-3-āĻ, āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻŽāĻĄā§‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ—āĻŸāĻŋāĻ•ā§‡ āĻ¨ā§‹āĻĄā§‡āĻ° āĻ¨ā§‹āĻĄ āĻ†āĻ‡āĻĄāĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻž āĻ•āĻ°ā§‡ āĻ¯āĻž
āĻāĻ•āĻŸāĻŋ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĻ›ā§‡āĨ¤ āĻāĻ‡ āĻ•āĻžāĻ°āĻŖā§‡āĻ‡ ScheduleWithContext-āĻ āĻ•āĻ˛ āĻ•āĻ°āĻž āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ
ns3::āĻšā§āĻ¯āĻžāĻ¨ā§‡āĻ˛ āĻ¸āĻžāĻŦāĻ•ā§āĻ˛āĻžāĻ¸ āĻ•āĻžāĻ°āĻŖ āĻ†āĻŽāĻ°āĻž āĻ¨ā§‹āĻĄ i āĻĨā§‡āĻ•ā§‡ āĻ¨ā§‹āĻĄ j āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻāĻ•āĻŸāĻŋ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ›āĻŋ āĻāĻŦāĻ‚ āĻ†āĻŽāĻ°āĻž
āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡ āĻ¯ā§‡ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸāĻŸāĻŋ āĻ¯āĻž āĻ¨ā§‹āĻĄ j āĻ āĻšāĻ˛āĻŦā§‡ āĻ¤āĻžāĻ° āĻ¸āĻ āĻŋāĻ• āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ— āĻ†āĻ›ā§‡āĨ¤

āĻ¸āĻŽāĻ¯āĻŧ
āĻĨā§‡āĻ•ā§‡ be āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨

āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖāĻ•āĻžāĻ°ā§€
āĻĨā§‡āĻ•ā§‡ be āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨

āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ•āĻ¸
āĻ•āĻŋāĻ›ā§ āĻ¨āĻ¤ā§āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ ns-3 āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ¯āĻžāĻĒāĻ•āĻ­āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŋāĻ‚ āĻŦāĻžāĻ—āĻ§āĻžāĻ°āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ…āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤
āĻ•ā§‹āĻĄ āĻœā§āĻĄāĻŧā§‡: the ns-3 āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ•. āĻāĻ‡ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ āĻ•āĻŋāĻ›ā§ āĻ…āĻ¨ā§āĻĒā§āĻ°ā§‡āĻ°āĻŖāĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡
āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ•, āĻāĻŸāĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ¤āĻžāĻ° āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻŋāĻ•āĻž āĻāĻŦāĻ‚ āĻāĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻŦāĻŋāĻļāĻĻ āĻŦāĻŋāĻŦāĻ°āĻŖāĨ¤

āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ•āĻ¸ āĻĒā§āĻ°ā§‡āĻ°āĻŖāĻž
āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĻā§āĻŸāĻŋ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻŽāĻĄā§‡āĻ˛ A āĻāĻŦāĻ‚ B āĻ†āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻŋ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨ā§ˇ
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¤āĻžāĻĻā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¤āĻĨā§āĻ¯āĨ¤ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻŋ
A āĻāĻŦāĻ‚ B āĻāĻ•ā§‡ āĻ…āĻĒāĻ°ā§‡āĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ­āĻžāĻŦā§‡ āĻœā§āĻžāĻžāĻ¨ā§€ āĻ•āĻ°ā§‡ āĻ¤ā§āĻ˛āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ¯āĻžāĻ¤ā§‡ āĻ¤āĻžāĻ°āĻž āĻ†āĻšā§āĻŦāĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻāĻ•ā§‡ āĻ…āĻĒāĻ°ā§‡āĻ° āĻ‰āĻĒāĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋ:

āĻļā§āĻ°ā§‡āĻŖā§€āĻ•āĻ•ā§āĻˇā§‡ {
āĻĒā§āĻ°āĻ•āĻžāĻļā§āĻ¯:
void ReceiveInput ( // āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ);
...
}

(āĻ…āĻ¨ā§āĻ¯ āĻ‰āĻ¤ā§āĻ¸ āĻĢāĻžāĻ‡āĻ˛ā§‡ :)

āĻ•ā§āĻ˛āĻžāĻ¸ B {
āĻĒā§āĻ°āĻ•āĻžāĻļā§āĻ¯:
void DoSomething (āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°);
...

āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤:
A* a_instance; // āĻāĻ•āĻŸāĻŋ āĻ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻ•
}

āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°
B::Do Something()
{
// āĻāĻ•āĻŸāĻŋ_āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻŦāĻ˛ā§āĻ¨ āĻ¯ā§‡ āĻ•āĻŋāĻ›ā§ āĻ˜āĻŸā§‡āĻ›ā§‡
a_instance->āĻ°āĻŋāĻ¸āĻŋāĻ­āĻ‡āĻ¨āĻĒā§āĻŸ (// āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°);
...
}

āĻāĻŸāĻŋ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡, āĻ¤āĻŦā§‡ āĻāĻ° āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯ā§‡ āĻāĻŸāĻŋ A āĻāĻŦāĻ‚ B āĻāĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻĒā§āĻ°āĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡
āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ…āĻ¨ā§āĻ¯ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻœāĻžāĻ¨āĻ¤ā§‡ (āĻāĻŸāĻŋ āĻ¸ā§āĻŦāĻžāĻ§ā§€āĻ¨ āĻĨāĻžāĻ•āĻž āĻ•āĻ āĻŋāĻ¨ āĻ•āĻ°ā§‡ āĻ¤ā§‹āĻ˛ā§‡
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡ āĻ¸āĻ‚āĻ•āĻ˛āĻ¨ āĻ‡āĻ‰āĻ¨āĻŋāĻŸ) āĻāĻŦāĻ‚ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖā§€āĻ•āĻ°āĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻž; āĻ¯āĻĻāĻŋ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻĻā§ƒāĻļā§āĻ¯ā§‡,
B-āĻ•ā§‡ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ­āĻŋāĻ¨ā§āĻ¨ C āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻĨāĻž āĻŦāĻ˛āĻ¤ā§‡ āĻšāĻŦā§‡, B-āĻāĻ° āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ•ā§‹āĻĄ āĻšāĻ¤ā§‡ āĻšāĻŦā§‡
āĻāĻ•āĻŸāĻŋ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ c_instance āĻāĻŦāĻ‚ āĻ¤āĻžāĻ‡ āĻ˜ā§‹āĻˇāĻŖāĻž āĻ¸āĻšāĻœā§‡āĻ‡ āĻŦā§‹āĻāĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¯ā§‡ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¨ā§ƒāĻļāĻ‚āĻ¸ āĻļāĻ•ā§āĻ¤āĻŋ
āĻ¯ā§‹āĻ—āĻžāĻ¯ā§‹āĻ—ā§‡āĻ° āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¯āĻž āĻŽāĻĄā§‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŋāĻ‚ āĻ•ā§āĻ°āĻžāĻĢā§āĻŸ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻāĻŸāĻŋ āĻŦāĻ˛āĻžāĻ° āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ°āĻžāĻ–ā§‡ āĻ¨āĻž āĻ¯ā§‡ āĻŦāĻ¸ā§āĻ¤ā§āĻ—ā§āĻ˛āĻŋ āĻāĻ•ā§‡ āĻ…āĻĒāĻ°ā§‡āĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻœāĻžāĻ¨āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ¨āĻ¯āĻŧ āĻ¯āĻĻāĻŋ āĻāĻ•āĻŸāĻŋ āĻļāĻ•ā§āĻ¤ āĻĨāĻžāĻ•ā§‡
āĻ¤āĻžāĻĻā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¯ā§‡ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻ‡ āĻŽāĻĄā§‡āĻ˛ āĻ†āĻ°ā§‹ āĻ¨āĻŽāĻ¨ā§€āĻ¯āĻŧ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¯āĻĻāĻŋ āĻ¤āĻžāĻ°
āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ¸āĻŽāĻ¯āĻŧā§‡ āĻŽāĻŋāĻĨāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ•āĻŽ āĻ¸ā§€āĻŽāĻžāĻŦāĻĻā§āĻ§āĨ¤

āĻāĻŸāĻŋ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ—āĻŦā§‡āĻˇāĻŖāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻŽā§‚āĻ°ā§āĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¨āĻ¯āĻŧ, āĻŦāĻ°āĻ‚ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§€ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻ‰āĻ¤ā§āĻ¸, āĻ¯āĻ–āĻ¨ āĻ—āĻŦā§‡āĻˇāĻ•āĻ°āĻž āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻŦāĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨
āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ (āĻ¯ā§‡āĻŽāĻ¨ āĻ¤āĻžāĻ°āĻž āĻ—āĻŦā§‡āĻˇāĻŖāĻž āĻ•āĻ°āĻ¤ā§‡ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤)āĨ¤ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°ā§āĻ¨, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ,
āĻāĻ•āĻœāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ¯āĻŋāĻ¨āĻŋ TCP āĻāĻŦāĻ‚ IP āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ IPsec āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻ¸āĻžāĻŦāĻ˛ā§‡āĻ¯āĻŧāĻžāĻ° āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨:

------------ -----------
| TCP | | TCP |
------------ -----------
| āĻšāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¯āĻŧ -> |
----------- -----------
| āĻ†āĻ‡āĻĒāĻŋ | | IPsec |
----------- -----------
|
-----------
| āĻ†āĻ‡āĻĒāĻŋ |
-----------

āĻ¯āĻĻāĻŋ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻ…āĻ¨ā§āĻŽāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻĨāĻžāĻ•ā§‡ āĻāĻŦāĻ‚ āĻ•ā§‹āĻĄā§‡ āĻšāĻžāĻ°ā§āĻĄ āĻ•ā§‹āĻĄ āĻ•āĻ°ā§‡ āĻĨāĻžāĻ•ā§‡, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ¸ā§‡āĻ‡ āĻ†āĻ‡āĻĒāĻŋ āĻ¸āĻŦāĻ¸āĻŽāĻ¯āĻŧ āĻ•āĻĨāĻž āĻŦāĻ˛ā§‡
āĻ‰āĻĒāĻ°ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻŸā§āĻ°āĻžāĻ¨ā§āĻ¸āĻĒā§‹āĻ°ā§āĻŸ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ•ā§‡ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻŸāĻŋ āĻšā§āĻ¯āĻžāĻ• āĻ•āĻ°āĻ¤ā§‡ āĻŦāĻžāĻ§ā§āĻ¯ āĻ•āĻ°āĻž āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ•āĻžāĻ™ā§āĻ•ā§āĻˇāĻŋāĻ¤ āĻ†āĻ¨ā§āĻ¤āĻƒāĻ¸āĻ‚āĻ¯ā§‹āĻ—āĨ¤ āĻāĻŸāĻŋ āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ¤āĻ‡ āĻœā§‡āĻ¨ā§‡āĻ°āĻŋāĻ• āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ°ā§āĻŦā§‹āĻ¤ā§āĻ¤āĻŽ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻ¨āĻ¯āĻŧ
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°

āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ•āĻ¸ āĻĒāĻŸāĻ­ā§‚āĻŽāĻŋ
āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°ā§āĻ¨:
āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŋāĻ‚ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ•ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ āĻĒāĻžāĻ āĻ•āĻ°āĻž āĻāĻ‡ āĻŸāĻŋāĻ‰āĻŸā§‹āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻŦāĻŋāĻ­āĻžāĻ—āĻŸāĻŋ āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§‡ āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

āĻŽā§ŒāĻ˛āĻŋāĻ• āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¯āĻž āĻāĻ•āĻœāĻ¨āĻ•ā§‡ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻŸāĻŋāĻ° āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ āĻ¤āĻž āĻšāĻ˛ a āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ•.
āĻšā§‚āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻšāĻ˛ āĻ•ā§‹āĻĄā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ…āĻ‚āĻļāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ•āĻ˛ āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž (āĻŦāĻž C++ āĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ)
āĻ•ā§‹āĻ¨ā§‹ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ†āĻ¨ā§āĻ¤āĻƒāĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻ›āĻžāĻĄāĻŧāĻžāĻ‡āĨ¤

āĻļā§‡āĻˇ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻāĻ° āĻŽāĻžāĻ¨ā§‡ āĻšāĻ˛ āĻ†āĻĒāĻ¨āĻžāĻ° āĻāĻ•āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĒāĻ°ā§‹āĻ•ā§āĻˇ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ -- āĻ†āĻĒāĻ¨āĻŋ āĻ āĻŋāĻ•āĻžāĻ¨āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ†āĻšāĻ°āĻŖ āĻ•āĻ°ā§‡āĻ¨
āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ. āĻāĻ‡ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛āĻŸāĻŋāĻ•ā§‡ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ°-āĻŸā§-āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧāĨ¤
āĻĢāĻžāĻ‚āĻļāĻ¨ āĻāĻŦāĻ‚ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ°-āĻŸā§-āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ• āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ‡ āĻ†āĻ˛āĻžāĻĻāĻž āĻ¨āĻ¯āĻŧ
āĻ¯ā§‡ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻāĻŦāĻ‚ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ°-āĻŸā§-āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸāĨ¤

āĻ¸āĻŋ-āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ°-āĻŸā§-āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻ•ā§āĻ¯āĻžāĻ¨ā§‹āĻ¨āĻŋāĻ•āĻžāĻ˛ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ
āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ°-āĻŸā§-āĻĢāĻžāĻ‚āĻļāĻ¨-āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨āĻŋāĻ‚-āĻ‡āĻ¨āĻŸāĻŋāĻœāĻžāĻ° (PFI)āĨ¤ āĻāĻ•āĻŸāĻŋ PFI āĻāĻ• int āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ—ā§āĻ°āĻšāĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯, āĻāĻ‡
āĻ¯ā§‡āĻŽāĻ¨ āĻ˜ā§‹āĻˇāĻŖāĻž āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡:

int (*pfi)(int arg) = 0;

āĻ†āĻĒāĻ¨āĻŋ āĻāĻ‡ āĻĨā§‡āĻ•ā§‡ āĻĒā§‡āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛ āĻ¨āĻžāĻŽ āĻ¸āĻšāĻœāĻ­āĻžāĻŦā§‡ āĻĒāĻŋāĻāĻĢāĻ†āĻ‡ āĻ¯ā§‡āĻŸāĻŋ āĻŽāĻžāĻ¨ 0 āĻ āĻ†āĻ°āĻŽā§āĻ­ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ•āĻŋāĻ›ā§ āĻ…āĻ°ā§āĻĨāĻĒā§‚āĻ°ā§āĻŖ āĻāĻ‡ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻ†āĻ°āĻŽā§āĻ­ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨, āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻšāĻŦā§‡
āĻāĻ•āĻŸāĻŋ āĻŽāĻŋāĻ˛āĻŋāĻ¤ āĻ¸ā§āĻŦāĻžāĻ•ā§āĻˇāĻ° āĻ¸āĻš āĻĢāĻžāĻ‚āĻļāĻ¨āĨ¤ āĻāĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡:

int MyFunction (int arg) {}

āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¯āĻĻāĻŋ āĻāĻ‡ āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻĨāĻžāĻ•ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻĻāĻŋāĻ•ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°āĻ¤ā§‡ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛āĻŸāĻŋ āĻļā§āĻ°ā§ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ¯ā§‡āĻŽāĻ¨:

pfi = MyFunction;

āĻ¤āĻžāĻ°āĻĒāĻ° āĻ†āĻĒāĻ¨āĻŋ āĻ•āĻ˛ā§‡āĻ° āĻ†āĻ°āĻ“ āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļāĻŽā§‚āĻ˛āĻ• āĻĢāĻ°ā§āĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĒāĻ°ā§‹āĻ•ā§āĻˇāĻ­āĻžāĻŦā§‡ MyFunction āĻ•āĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨:

int āĻĢāĻ˛āĻžāĻĢāĻ˛ = (*pfi) (1234);

āĻāĻŸāĻŋ āĻ‡āĻ™ā§āĻ—āĻŋāĻ¤āĻĒā§‚āĻ°ā§āĻŖ āĻ•āĻžāĻ°āĻŖ āĻĻā§‡āĻ–ā§‡ āĻŽāĻ¨ā§‡ āĻšāĻšā§āĻ›ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ°āĻŸāĻŋāĻ•ā§‡ āĻĄāĻŋāĻ°ā§‡āĻĢāĻžāĻ° āĻ•āĻ°āĻ›ā§‡āĻ¨
āĻ†āĻĒāĻ¨āĻŋ āĻ¯ā§‡ āĻ•ā§‹āĻ¨ā§‹ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° dereference āĻšāĻžāĻ‡. āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤, āĻ¤āĻŦā§‡, āĻ˛ā§‹āĻ•ā§‡āĻ°āĻž āĻāĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻ¨ā§‡āĻ¯āĻŧ
āĻ¸āĻ¤ā§āĻ¯ āĻ¯ā§‡ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ° āĻœāĻžāĻ¨ā§‡ āĻ•āĻŋ āĻ˜āĻŸāĻ›ā§‡ āĻāĻŦāĻ‚ āĻļā§āĻ§ā§ āĻāĻ•āĻŸāĻŋ āĻ›ā§‹āĻŸ āĻĢāĻ°ā§āĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦā§‡:

int āĻĢāĻ˛āĻžāĻĢāĻ˛ = pfi (1234);

āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻŽāĻžāĻ¨ āĻļāĻŦā§āĻĻāĻžāĻ°ā§āĻĨāĻŦāĻŋāĻĻā§āĻ¯āĻž āĻŽā§‡āĻ¨ā§‡ āĻšāĻ˛ā§‡, āĻ¤āĻžāĻ‡ āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻŋāĻ•ā§‡ āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ āĻŽāĻ¤ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻŽāĻžāĻ¨āĨ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤, āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻ–āĻ¨ āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ¸ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĻ¨ āĻ¤āĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻŋ āĻ•āĻŋāĻ›ā§ āĻ¸āĻ¤ā§āĻ¤āĻž āĻĒāĻžāĻ¸ āĻ•āĻ°āĻŦā§‡āĻ¨
āĻāĻ‡ āĻŽāĻ¤ āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻ•āĻ°ā§āĻŽ āĻ¸āĻžā§āĻšāĻžāĻ˛āĻ¨ āĻ•āĻ°āĻŦā§‡ āĻāĻŦāĻ‚ āĻ•āĻ˛ āĻĒāĻŋāĻ›āĻ¨ā§‡ āĻ¤ā§‹āĻŽāĻžāĻ•ā§‡ āĻœāĻžāĻ¨āĻžāĻ¤ā§‡
āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻāĻŸāĻŋ āĻĒāĻ°ā§‹āĻ•ā§āĻˇ āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻ•āĻ°ā§‡ āĻĢāĻŋāĻ°ā§‡ āĻ•āĻ˛ āĻ•āĻ°ā§‡āĨ¤

C++ āĻ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•āĻžāĻ›ā§‡ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻœāĻŸāĻŋāĻ˛āĻ¤āĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ‰āĻĒāĻ°ā§‡āĻ° PFI āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻĻā§ƒāĻļā§āĻ¯ āĻŽāĻžāĻ¨ā§‡ āĻ†āĻĒāĻ¨āĻŋ
āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ int (PMI) āĻĢā§‡āĻ°āĻ¤ āĻāĻ•āĻŸāĻŋ āĻ¸āĻĻāĻ¸ā§āĻ¯ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻāĻ•āĻŸāĻŋ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻ†āĻ›ā§‡
āĻĢāĻžāĻ‚āĻļāĻ¨ āĻāĻ•āĻŸāĻŋ int (PFI) āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡āĨ¤

āĻĒāĻ°ā§‹āĻ•ā§āĻˇ āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻ•āĻžāĻ°ā§€ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡āĻ° āĻ˜ā§‹āĻˇāĻŖāĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¸āĻžāĻŽāĻžāĻ¨ā§āĻ¯ āĻ­āĻŋāĻ¨ā§āĻ¨ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ:

int (MyClass::*pmi) (int arg) = 0;

āĻāĻ‡ āĻ¨āĻžāĻŽā§‡ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛ āĻ˜ā§‹āĻˇāĻŖāĻž āĻĒāĻŋāĻāĻŽāĻ†āĻ‡ āĻ āĻŋāĻ• āĻ¯ā§‡āĻŽāĻ¨ āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§€ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻ•āĻŸāĻŋ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ¨āĻžāĻŽā§‡ āĻ˜ā§‹āĻˇāĻŖāĻž āĻ•āĻ°ā§‡āĻ›ā§‡
āĻĒāĻŋāĻāĻĢāĻ†āĻ‡. āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ‰āĻ‡āĻ˛ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ•ā§‡ āĻ•āĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡, āĻāĻ•āĻœāĻ¨ āĻ…āĻŦāĻļā§āĻ¯āĻ‡
āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡ āĻ¸ā§‡āĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻ˜ā§‹āĻˇāĻŖāĻž āĻ•āĻ°ā§āĻ¨:

āĻ•ā§āĻ˛āĻžāĻ¸ āĻŽāĻžāĻ‡āĻ•ā§āĻ˛āĻžāĻ¸ {
āĻĒā§āĻ°āĻ•āĻžāĻļā§āĻ¯:
int MyMethod (int arg);
};

āĻāĻ‡ āĻŦāĻ°ā§āĻ— āĻ˜ā§‹āĻˇāĻŖāĻžāĻ° āĻĒā§āĻ°ā§‡āĻ•ā§āĻˇāĻŋāĻ¤ā§‡, āĻ•ā§‡āĻ‰ āĻ¤āĻ–āĻ¨ āĻāĻ‡ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛āĻŸāĻŋāĻ•ā§‡ āĻāĻ­āĻžāĻŦā§‡ āĻ†āĻ°āĻŽā§āĻ­ āĻ•āĻ°āĻŦā§‡:

pmi = &MyClass::MyMethod;

āĻāĻŸāĻŋ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨āĻ•āĻžāĻ°ā§€ āĻ•ā§‹āĻĄā§‡āĻ° āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°ā§‡, āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ•āĻ°ā§‡
āĻĒāĻ°ā§‹āĻ•ā§āĻˇ āĻāĻ•āĻŸāĻŋ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ•āĻ˛ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ•ā§‹āĻĄ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ a āĻāĻ‡ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻ• āĻāĻ‡ āĻ˜ā§āĻ°ā§‡,
āĻŽāĻžāĻ¨ā§‡ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ MyClass āĻāĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻāĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻ°āĻ˛ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ āĻŋāĻ•
āĻāĻ•āĻŸāĻŋ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ•ā§‡ āĻĒāĻ°ā§‹āĻ•ā§āĻˇāĻ­āĻžāĻŦā§‡ āĻ•āĻ˛ āĻ•āĻ°āĻž (āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻŽāĻ¨ā§‡ āĻ•āĻ°ā§āĻ¨):

int (MyClass::*pmi) (int arg) = 0; // āĻāĻ•āĻŸāĻŋ PMI āĻ˜ā§‹āĻˇāĻŖāĻž āĻ•āĻ°ā§āĻ¨
pmi = &MyClass::MyMethod; // āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ•ā§‹āĻĄā§‡ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻ•āĻ°ā§āĻ¨

āĻŽāĻžāĻ‡āĻ•ā§āĻ˛āĻžāĻ¸ āĻŽāĻžāĻ‡āĻ•ā§āĻ˛āĻžāĻ¸; // āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨
(myClass.*pmi) (1234); // āĻāĻ•āĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§ ptr āĻ¸āĻ™ā§āĻ—ā§‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ•āĻ˛

āĻ āĻŋāĻ• āĻ¯ā§‡āĻŽāĻ¨ C āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻŋāĻ•ā§‡ āĻ…āĻ¨ā§āĻ¯ āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡ āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ¸ āĻ•āĻ˛ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻ¯āĻž āĻ•āĻ°āĻŦā§‡ āĻ•āĻ˛ āĻĒāĻŋāĻ›āĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤ āĻ¸āĻšāĻœāĻŦā§‹āĻ§ā§āĻ¯ āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨
āĻ•ā§‡āĻ‰ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻāĻŦāĻ‚ PMI āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻĒāĻžāĻ¸ āĻ•āĻ°āĻžāĨ¤ āĻŽāĻĄāĻŋāĻ‰āĻ˛
āĻļā§āĻ§ā§ āĻ•āĻ°āĻŦā§‡:

(*objectPtr.*pmi) (1234);

āĻĒāĻ›āĻ¨ā§āĻĻāĻ¸āĻ‡ āĻŦāĻ¸ā§āĻ¤ā§āĻ¤ā§‡ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯āĨ¤

āĻāĻ‡ āĻ¸āĻŽāĻ¯āĻŧā§‡ āĻ•ā§‡āĻ‰ āĻĒā§āĻ°āĻļā§āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ•āĻŋ āĻĻā§āĻ¯ āĻŦāĻŋāĻ¨ā§āĻĻā§? āĻ¨āĻžāĻŽāĻ• āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻŦā§āĻāĻ¤ā§‡ āĻšāĻŦā§‡
āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻ˛āĻŋāĻ‚ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āĻ° āĻ•āĻ‚āĻ•ā§āĻ°āĻŋāĻŸ āĻĒā§āĻ°āĻ•āĻžāĻ°āĨ¤ āĻ•ā§‡āĻ¨ āĻ¨āĻž
āĻļā§āĻ§ā§ āĻāĻŸāĻŋ āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°ā§āĻ¨, āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻŸāĻžāĻ‡āĻĒ āĻ•āĻ°āĻž āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻĒāĻžāĻ¸ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻ•āĻ°ā§āĻ¨ āĻŦāĻ¸ā§āĻ¤ā§->āĻĒāĻĻā§āĻ§āĻ¤āĻŋ(1234) in
āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ•ā§‡āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻ•ā§‹āĻĄ? āĻāĻ‡ āĻ…āĻŦāĻŋāĻ•āĻ˛ āĻ‰āĻĒāĻ°ā§‡ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž. āĻ•āĻŋ
āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ˛ āĻ•āĻ˛āĻŋāĻ‚ āĻĢāĻžāĻ‚āĻļāĻ¨āĻŸāĻŋāĻ•ā§‡ āĻ•āĻ˛āĻŋāĻ‚ āĻ•ā§āĻ˛āĻžāĻ¸ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻĄāĻŋāĻ•āĻĒāĻ˛ āĻ•āĻ°āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻ¯āĻŧāĨ¤ āĻāĻ‡
āĻšāĻžāĻšāĻŋāĻĻāĻžāĻ° āĻŦāĻŋāĻ•āĻžāĻļā§‡āĻ° āĻĻāĻŋāĻ•ā§‡ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻŋāĻ¤ āĻ•āĻ°ā§‡ āĻĢāĻžāĻ‚āĻļāĻ¨.

āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻšāĻ˛ 1960 āĻāĻ° āĻĻāĻļāĻ•ā§‡ āĻ†āĻŦāĻŋāĻˇā§āĻ•ā§ƒāĻ¤ āĻ•āĻŋāĻ›ā§āĻ° āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻ¯āĻžāĻ•ā§‡ āĻŦāĻ¨ā§āĻ§ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻŸāĻž
āĻŽā§‚āĻ˛āĻ¤ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœāĻĄ-āĻ†āĻĒ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ•āĻ˛, āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻ•āĻŋāĻ›ā§ āĻ°āĻžāĻœā§āĻ¯ā§‡āĻ° āĻ¸āĻžāĻĨā§‡āĨ¤

āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻĻā§āĻŸāĻŋ āĻ…āĻ‚āĻļ āĻĨāĻžāĻ•ā§‡, āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ…āĻ‚āĻļ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻœā§‡āĻ¨ā§‡āĻ°āĻŋāĻ• āĻ…āĻ‚āĻļ, āĻ‰āĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ°ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤āĨ¤
āĻ•āĻ˛āĻŋāĻ‚ āĻ•ā§‹āĻĄ (āĻ¯ā§‡ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻšāĻžāĻ˛āĻžāĻ¯āĻŧ) āĻāĻ•āĻŸāĻŋ āĻœā§‡āĻ¨ā§‡āĻ°āĻŋāĻ• āĻ“āĻ­āĻžāĻ°āĻ˛ā§‹āĻĄ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻŦā§‡
āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° () āĻāĻ•āĻŸāĻŋ āĻœā§‡āĻ¨ā§‡āĻ°āĻŋāĻ• āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻ•āĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻ•āĻžāĻ°āĻŖ. āĻ¨āĻžāĻŽāĻ• āĻ•ā§‹āĻĄ (
āĻ¯ā§‡ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻĢā§‡āĻ°āĻ¤ āĻĄāĻžāĻ•āĻ¤ā§‡ āĻšāĻžāĻ¯āĻŧ) āĻāĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻļā§‡āĻˇ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡
āĻĻā§āĻ¯ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° () āĻ¯ā§‡ āĻ•ā§āĻ˛āĻžāĻ¸-āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻžāĻœ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻ•āĻ°ā§‡ āĻ¯āĻž āĻ˜āĻ¨āĻŋāĻˇā§āĻ -āĻ¸āĻ‚āĻ¯ā§‹āĻœāĻ¨ āĻ˜āĻŸāĻžāĻ¯āĻŧ
āĻ‰āĻĒāĻ°ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĨ¤

āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻāĻŦāĻ‚ āĻāĻ° āĻ“āĻ­āĻžāĻ°āĻ˛ā§‹āĻĄ āĻ¸āĻš āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° () āĻ¤ā§ˆāĻ°āĻŋ, āĻ¤āĻžāĻ°āĻĒāĻ° āĻ•ā§‹āĻĄ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ
āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡ āĻŦāĻŋāĻļā§‡āĻˇ āĻ•ā§‹āĻĄ āĻĻā§‡āĻ¯āĻŧ āĻ¯āĻž āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• (āĻ•āĻ˛āĻŋāĻ‚) āĻšāĻžāĻ˛āĻžāĻŦā§‡
āĻ•ā§‹āĻĄ)āĨ¤

āĻ•āĻ˛āĻŋāĻ‚ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻœā§‡āĻ¨ā§‡āĻ°āĻŋāĻ• āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¨ā§‡āĻŦā§‡, āĻ¤āĻžāĻ‡ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻ•āĻžāĻ¸ā§āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĢāĻžāĻ‚āĻļāĻ¨āĻ•ā§‡ āĻœā§‡āĻ¨ā§‡āĻ°āĻŋāĻ• āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡ āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ•āĻ˛ā§‡āĨ¤ āĻāĻ° āĻŽāĻžāĻ¨ā§‡
āĻ¯ā§‡ āĻ•āĻ˛āĻŋāĻ‚ āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻŸāĻŋāĻ•ā§‡ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻœā§‡āĻ¨ā§‡āĻ°āĻŋāĻ• āĻĢāĻžāĻ‚āĻļāĻ¨ āĻŸāĻžāĻ‡āĻĒ āĻŦā§āĻāĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻāĻŸāĻž decoupled āĻšāĻ¯āĻŧ
āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ­āĻžāĻŦā§‡ āĻ•āĻ˛āĻŋāĻ‚ āĻ•ā§‹āĻĄ āĻĨā§‡āĻ•ā§‡āĨ¤

āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻ¯ā§‡ āĻ¤āĻĨā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¤āĻž āĻšāĻ˛ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻāĻŦāĻ‚
āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻĨā§‡āĻ•ā§‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ āĻŋāĻ•āĻžāĻ¨āĻžāĨ¤

āĻ¯āĻž āĻ˜āĻŸāĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¤āĻžāĻ° āĻ¸āĻžāĻ°āĻŽāĻ°ā§āĻŽ āĻšāĻ˛ āĻ¯ā§‡ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻŸāĻŋ āĻāĻ° āĻāĻ•āĻŸāĻŋ āĻœā§‡āĻ¨ā§‡āĻ°āĻŋāĻ• āĻ…āĻ‚āĻļ āĻ˜ā§‹āĻˇāĻŖāĻž āĻ•āĻ°ā§‡
āĻĢāĻžāĻ‚āĻļāĻ¨:

āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ
āĻ•ā§āĻ˛āĻžāĻ¸ āĻĢāĻžāĻ‚āĻļāĻ¨
{
āĻĒā§āĻ°āĻ•āĻžāĻļā§āĻ¯:
āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ int operator() (T arg) = 0;
};

āĻ•āĻ˛āĻžāĻ° āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ…āĻ‚āĻļāĻ•ā§‡ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°ā§‡ āĻ¯āĻž āĻŦāĻžāĻ¸ā§āĻ¤āĻŦā§‡ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡
āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°() āĻĒāĻĻā§āĻ§āĻ¤āĻŋ:

āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ
āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¸ā§āĻĒā§‡āĻ¸āĻŋāĻĢāĻŋāĻ• āĻĢāĻžāĻ‚āĻļāĻ¨: āĻĒāĻžāĻŦāĻ˛āĻŋāĻ• āĻĢāĻžāĻ‚āĻļāĻ¨
{
āĻĒā§āĻ°āĻ•āĻžāĻļā§āĻ¯:
SpecificFunctor(T*p, int (T::*_pmi)(ARG arg))
{
m_p = p;
m_pmi = _pmi;
}

āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ int āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°() (ARG arg)
{
(*m_p.*m_pmi)(arg);
}
āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤:
int (T::*m_pmi)(ARG arg);
T* m_p;
};

āĻāĻ–āĻžāĻ¨ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ:

āĻ•ā§āĻ˛āĻžāĻ¸ āĻ
{
āĻĒā§āĻ°āĻ•āĻžāĻļā§āĻ¯:
A (int a0): a (a0) {}
int āĻšā§āĻ¯āĻžāĻ˛ā§‹ (int b0)
{
std::cout << "āĻ āĻĨā§‡āĻ•ā§‡ āĻšā§āĻ¯āĻžāĻ˛ā§‹, a = " << a << " b0 = " << b0 << std::endl;
}
int a;
};

āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻĒā§āĻ°āĻ§āĻžāĻ¨ ()
{
A a(ā§¨ā§Ļā§§ā§§);
āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĢāĻžāĻ‚āĻļāĻ¨ sf(&a, &A::āĻšā§āĻ¯āĻžāĻ˛ā§‹);
sf(ā§¨ā§Ļā§§ā§§);
}

āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°ā§āĻ¨:
āĻ†āĻ—ā§‡āĻ° āĻ•ā§‹āĻĄāĻŸāĻŋ āĻ†āĻ¸āĻ˛ ns-3 āĻ•ā§‹āĻĄ āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻŸāĻŋ āĻ¸āĻ°āĻ˛ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ•ā§‹āĻĄ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤
āĻœāĻĄāĻŧāĻŋāĻ¤ āĻ§āĻžāĻ°āĻŖāĻžāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻšāĻŋāĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻŸāĻŋ āĻ†āĻ°āĻ“ āĻŦā§āĻāĻ¤ā§‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°āĻ¤ā§‡āĨ¤ āĻ•āĻ°ā§‹ āĻ¨āĻž
ns-3 āĻ—āĻžāĻ›ā§‡āĻ° āĻ¯ā§‡ āĻ•ā§‹āĻ¨ āĻœāĻžāĻ¯āĻŧāĻ—āĻžāĻ¯āĻŧ āĻāĻ‡ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻ–ā§āĻāĻœā§‡ āĻĒāĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻ†āĻļāĻž āĻ•āĻ°ā§āĻ¨āĨ¤

āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ•ā§āĻ˛āĻžāĻ¸ā§‡ āĻĻā§āĻŸāĻŋ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ m_p āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻšāĻ˛
āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻāĻŦāĻ‚ m_pmi āĻšāĻ˛ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ¯āĻžāĻ¤ā§‡ āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻĨāĻžāĻ•ā§‡
āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸ.

āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡ āĻ•āĻ–āĻ¨ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°() āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ, āĻāĻŸāĻŋ āĻ˜ā§āĻ°ā§‡ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ•ā§‡ āĻ•āĻ˛ āĻ•āĻ°ā§‡
C++ PMI āĻ¸āĻŋāĻ¨āĻŸā§āĻ¯āĻžāĻ•ā§āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ°āĨ¤

āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ•ā§‡āĻ‰ āĻ¤āĻ–āĻ¨ āĻ•āĻŋāĻ›ā§ āĻŽāĻĄā§‡āĻ˛ āĻ•ā§‹āĻĄ āĻ˜ā§‹āĻˇāĻŖāĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻœā§‡āĻ¨ā§‡āĻ°āĻŋāĻ• āĻĢāĻžāĻ‚āĻļāĻ¨āĻ•ā§‡ āĻ¨ā§‡āĻ¯āĻŧ
āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ:

void LibraryFunction (Functor functor);

āĻ¯ā§‡ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻŽāĻĄā§‡āĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻĨāĻž āĻŦāĻ˛āĻŦā§‡ āĻ¤āĻž āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦā§‡ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻŦā§‡
āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨:

āĻŽāĻžāĻ‡āĻ•ā§āĻ˛āĻžāĻ¸ āĻŽāĻžāĻ‡āĻ•ā§āĻ˛āĻžāĻ¸;
āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĢāĻžāĻ‚āĻļāĻ¨ functor (&myclass, MyClass::MyMethod);

āĻ•āĻ–āĻ¨ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻšāĻ¯āĻŧ, āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻš āĻ•āĻ°ā§‡ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°() āĻœā§‡āĻ¨ā§‡āĻ°āĻŋāĻ• āĻ‰āĻĒāĻ°
āĻĢāĻžāĻ‚āĻļāĻ¨ āĻāĻŸāĻŋ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛, āĻāĻŦāĻ‚ āĻāĻ‡ āĻŦāĻŋāĻļā§‡āĻˇ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻĒā§‚āĻ°ā§āĻŖāĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡:

āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°
āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ (āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĢāĻžāĻ‚āĻļāĻ¨)
{
// āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻšāĻžāĻ˛āĻžāĻ¨
āĻĢāĻžāĻ‚āĻļāĻ¨(ā§¨ā§Ļā§§ā§§);
}

āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°ā§āĻ¨ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĨā§‡āĻ•ā§‡ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻĄāĻŋāĻ•āĻĒāĻ˛ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
āĻ¸āĻ‚āĻ¯ā§‹āĻ—āĻŸāĻŋ Functor polymorphism āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻāĻĒāĻŋāĻ†āĻ‡ ns-3 āĻĢāĻžāĻ‚āĻļāĻ¨ āĻŽā§‡āĻ•āĻžāĻ¨āĻŋāĻœāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ-āĻ“āĻ°āĻŋāĻ¯āĻŧā§‡āĻ¨ā§āĻŸā§‡āĻĄ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°ā§‡āĨ¤
āĻāĻ‡ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• API, C++ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸā§‡āĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡, āĻŸāĻžāĻ‡āĻĒ-āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻ; āĻ…āĻ°ā§āĻĨāĻžā§Ž, āĻāĻŸāĻŋ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻ¸āĻžā§āĻšāĻžāĻ˛āĻ¨ āĻ•āĻ°ā§‡
āĻ•āĻ˛āĻžāĻ° āĻāĻŦāĻ‚ āĻ•āĻ˛ā§‡āĻĻā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸āĻ āĻŋāĻ• āĻ¸ā§āĻŦāĻžāĻ•ā§āĻˇāĻ° āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯āĻ¤āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻšā§‡āĻ• āĻŸāĻžāĻ‡āĻĒ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻāĻŸāĻž
āĻ¤āĻžāĻ‡ āĻĒā§āĻ°āĻĨāĻžāĻ—āĻ¤ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻ°ā§‹ āĻŸāĻžāĻ‡āĻĒ-āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¸āĻŋāĻ¨āĻŸā§āĻ¯āĻžāĻ•ā§āĻ¸ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻĒā§āĻ°āĻĨāĻŽ āĻĻāĻŋāĻ•ā§‡ āĻ¤āĻžāĻ•āĻžāĻ¨ āĻāĻ‡ āĻŦāĻŋāĻ­āĻžāĻ—āĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
āĻ¯āĻžāĻ¤ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻ†āĻ°āĻžāĻŽāĻĻāĻžāĻ¯āĻŧāĻ• āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ ns-3.

āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻĻā§āĻ¯ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻāĻĒāĻŋāĻ†āĻ‡
āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• API āĻŽā§‹āĻŸāĻžāĻŽā§āĻŸāĻŋ āĻ¨ā§‚āĻ¨ā§āĻ¯āĻ¤āĻŽ, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĻā§āĻŸāĻŋ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡:

1. āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻŸāĻžāĻ‡āĻĒ āĻĄāĻŋāĻ•ā§āĻ˛ā§‡āĻ¯āĻŧāĻžāĻ°ā§‡āĻļāĻ¨: āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻ¸ā§āĻŦāĻžāĻ•ā§āĻˇāĻ° āĻ¸āĻš āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ•ā§‡āĻ° āĻĒā§āĻ°āĻ•āĻžāĻ° āĻ˜ā§‹āĻˇāĻŖāĻž āĻ•āĻ°āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻ¯āĻŧ,
āĻāĻŦāĻ‚,

2. āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻ‡āĻ¨āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻŸā§‡āĻļāĻ¨: āĻāĻ•āĻŸāĻŋ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ-āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸā§‡āĻĄ āĻĢāĻ°āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄāĻŋāĻ‚ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻ‡āĻ¨āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻŸāĻŋāĻ¯āĻŧā§‡āĻŸ āĻ•āĻ°āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻ¯āĻŧ
āĻ¯āĻž āĻ…āĻ¨ā§āĻ¯ C++ āĻ•ā§āĻ˛āĻžāĻ¸ āĻŽā§‡āĻŽā§āĻŦāĻžāĻ° āĻŽā§‡āĻĨāĻĄ āĻŦāĻž C++ āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡ āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ āĻ•āĻ˛ āĻĢāĻ°āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻšāĻžāĻāĻŸāĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¸āĻ°ā§āĻŦā§‹āĻ¤ā§āĻ¤āĻŽāĻ­āĻžāĻŦā§‡ āĻĒāĻ°ā§āĻ¯āĻŦā§‡āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ samples/main-callback.cc.

āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻĻā§āĻ¯ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻāĻĒāĻŋāĻ†āĻ‡ āĻ¸āĻ™ā§āĻ—ā§‡ āĻ¸ā§āĻĨāĻŋāĻ° āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ˛āĻžāĻĒ
āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°ā§āĻ¨:

āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻĄāĻŦāĻ˛
CbOne (āĻĄāĻŦāĻ˛ āĻ, āĻĄāĻŦāĻ˛ āĻŦāĻŋ)
{
std::cout << "cbOne a=" << a << ", b=" << b << std::endl;
āĻĢā§‡āĻ°āĻ¤ a;
}

āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻ¸ā§āĻ¨āĻŋāĻĒā§‡āĻŸ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°ā§āĻ¨:

int āĻĒā§āĻ°āĻ§āĻžāĻ¨ (int argc, char *argv[])
{
// āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻŸāĻžāĻ‡āĻĒ: āĻĄāĻŦāĻ˛
// āĻĒā§āĻ°āĻĨāĻŽ arg āĻŸāĻžāĻ‡āĻĒ: āĻĄāĻŦāĻ˛
// āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻ†āĻ°ā§āĻ— āĻŸāĻžāĻ‡āĻĒ: āĻĄāĻŦāĻ˛
āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻāĻ•;
}

āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŋ-āĻ¸ā§āĻŸāĻžāĻ‡āĻ˛ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ•ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ -- āĻ¯ā§‡āĻŸāĻŋāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ¨ā§‡āĻ‡ āĻŦāĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¨ā§‡āĻ‡ā§ˇ āĻāĻ‡
āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻ• āĻĢāĻžāĻ‚āĻļāĻ¨ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻŽā§‚āĻ˛āĻ¤ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛ āĻ˜ā§‹āĻˇāĻŖāĻž
āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ°-āĻŸā§-āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ§āĻžāĻ°āĻŖāĻ•āĻžāĻ°ā§€āĨ¤ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡, āĻ†āĻŽāĻ°āĻž āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ­āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻĻā§‡āĻ–āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋ
āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡ āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻĒā§‚āĻ°ā§āĻŖāĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻĒā§‚āĻ°ā§āĻŖāĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ¨ā§‡āĻ¯āĻŧ, The
āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻāĻ° āĻāĻ•āĻŸāĻŋ āĻœā§‡āĻ¨ā§‡āĻ°āĻŋāĻ• āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ -- āĻāĻŸāĻŋ āĻŸāĻžāĻ‡āĻĒ āĻ˜ā§‹āĻˇāĻŖāĻž āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧ
āĻāĻ•āĻŸāĻŋ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻāĻ°

āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°ā§āĻ¨:
C++ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ…āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ āĻĒāĻžāĻ āĻ•āĻ°āĻž āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
http://www.cplusplus.com/doc/tutorial/templates/.

āĻ¸āĻžāĻ°ā§āĻœāĻžāĻ°āĻŋāĻ° āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻ§ā§āĻ¯āĻ¤āĻžāĻŽā§‚āĻ˛āĻ• āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ (āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻĒā§āĻ°āĻ•āĻžāĻ°
āĻāĻ‡ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ•ā§‡ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°āĻž āĻšāĻŦā§‡) āĻāĻŦāĻ‚ āĻĒāĻžāĻāĻšāĻŸāĻŋ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻāĻšā§āĻ›āĻŋāĻ• āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ, āĻ¯āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°ā§‡
āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻ§āĻ°āĻ¨ (āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡ āĻĒāĻžāĻāĻšāĻŸāĻŋāĻ° āĻŦā§‡āĻļāĻŋ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻĨāĻžāĻ•ā§‡,
āĻ¤āĻžāĻ°āĻĒāĻ° āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻ•āĻ°ā§‡ āĻāĻŸāĻŋ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡)āĨ¤

āĻ¸ā§āĻ¤āĻ°āĻžāĻ‚ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻžāĻ›ā§‡ "āĻāĻ•" āĻ¨āĻžāĻŽā§‡ āĻāĻ•āĻŸāĻŋ āĻ˜ā§‹āĻˇāĻŋāĻ¤ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻ…āĻŦāĻļā§‡āĻˇā§‡ āĻšāĻŦā§‡
āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻ§āĻ°ā§‡ āĻ°āĻžāĻ–ā§āĻ¨āĨ¤ āĻāĻŸāĻŋ āĻ¯ā§‡ āĻĢāĻžāĻ‚āĻļāĻ¨āĻŸāĻŋ āĻ§āĻ°ā§‡ āĻ°āĻžāĻ–āĻŦā§‡ āĻ¤āĻžāĻ° āĻ¸ā§āĻŦāĻžāĻ•ā§āĻˇāĻ° āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻĢā§‡āĻ°āĻ¤ āĻĻāĻŋāĻ¤ā§‡ āĻšāĻŦā§‡
āĻĄāĻŦāĻ˛ āĻāĻŦāĻ‚ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻĻā§āĻŸāĻŋ āĻĄāĻŦāĻ˛ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻ¯āĻĻāĻŋ āĻ•ā§‡āĻ‰ āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§‡ āĻ¯āĻžāĻ°
āĻ¸ā§āĻŦāĻžāĻ•ā§āĻˇāĻ° āĻ˜ā§‹āĻˇāĻŋāĻ¤ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ•ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŽā§‡āĻ˛ā§‡ āĻ¨āĻž, āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ•āĻ˛āĻ¨ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ˜āĻŸāĻŦā§‡āĨ¤ āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“, āĻ¯āĻĻāĻŋ
āĻ•ā§‡āĻ‰ āĻāĻ•āĻŸāĻŋ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻāĻ•āĻŸāĻŋ āĻŦā§‡āĻŽāĻžāĻ¨āĻžāĻ¨ āĻāĻ•āĻŸāĻŋ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§‡, āĻ¸āĻ‚āĻ•āĻ˛āĻ¨ āĻ¸āĻĢāĻ˛ āĻšāĻŦā§‡ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ•āĻŸāĻŋ
āĻ°āĻžāĻ¨-āĻŸāĻžāĻ‡āĻŽ NS_FATAL_ERROR āĻ‰āĻ¤ā§āĻĨāĻžāĻĒāĻŋāĻ¤ āĻšāĻŦā§‡āĨ¤ āĻ¨āĻŽā§āĻ¨āĻž āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ
src/core/examples/main-callback.cc āĻāĻ° āĻļā§‡āĻˇā§‡ āĻāĻ‡ āĻ¤ā§āĻ°ā§āĻŸāĻŋāĻ° āĻ‰āĻ­āĻ¯āĻŧ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡āĻ‡ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°ā§‡
āĻĻā§āĻ¯ āĻĒā§āĻ°āĻ§āĻžāĻ¨ () āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ.

āĻāĻ–āĻ¨, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ‡ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻ‡āĻ¨ā§āĻ¸āĻŸā§āĻ¯āĻžāĻ¨ā§āĻ¸ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ•ā§ƒāĻ¤ āĻŸāĻžāĻ°ā§āĻ—ā§‡āĻŸ āĻĢāĻžāĻ‚āĻļāĻ¨āĻ•ā§‡ āĻāĻ•āĻ¸āĻžāĻĨā§‡ āĻŦāĻžāĻāĻ§āĻ¤ā§‡ āĻšāĻŦā§‡
(CbOne)āĨ¤ āĻ‰āĻĒāĻ°ā§‡ āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡ CbOne-āĻ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ•ā§‡āĻ° āĻŽāĻ¤ā§‹ āĻāĻ•āĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¸ā§āĻŦāĻžāĻ•ā§āĻˇāĻ°ā§‡āĻ° āĻ§āĻ°āĻ¨ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡--
āĻāĻŸāĻž āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ. āĻ†āĻŽāĻ°āĻž āĻāĻ‡ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ•ā§‡ āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻŸāĻžāĻ‡āĻĒ āĻ•āĻ°āĻž āĻĢāĻžāĻ‚āĻļāĻ¨āĻŸāĻŋ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤
āĻ†āĻ¸ā§āĻ¨ āĻāĻŸāĻŋ āĻ†āĻ°āĻ“ āĻ˜āĻ¨āĻŋāĻˇā§āĻ āĻ­āĻžāĻŦā§‡ āĻĻā§‡āĻ–ā§āĻ¨:

āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻĄāĻžāĻŦāĻ˛ CbOne (āĻĄāĻžāĻŦāĻ˛ a, āĻĄāĻžāĻŦāĻ˛ b) {}
^ ^ ^
| | |
| | |
āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻāĻ•;

āĻ†āĻĒāĻ¨āĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻ†āĻŦāĻĻā§āĻ§ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ¯āĻĻāĻŋ āĻ¤āĻžāĻĻā§‡āĻ° āĻŽāĻŋāĻ˛āĻŋāĻ¤ āĻ¸ā§āĻŦāĻžāĻ•ā§āĻˇāĻ° āĻĨāĻžāĻ•ā§‡āĨ¤ āĻĒā§āĻ°āĻĨāĻŽ
āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻšāĻ˛ āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻŸāĻžāĻ‡āĻĒ, āĻāĻŦāĻ‚ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻšāĻ˛ āĻĒā§āĻ°āĻ•āĻžāĻ°
āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¸ā§āĻŦāĻžāĻ•ā§āĻˇāĻ° āĻāĻ° āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ.

āĻāĻ–āĻ¨, āĻ†āĻ¸ā§āĻ¨ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• "āĻāĻ•" āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ†āĻŦāĻĻā§āĻ§ āĻ•āĻ°āĻŋ āĻ¯āĻž āĻāĻ° āĻ¸ā§āĻŦāĻžāĻ•ā§āĻˇāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŽā§‡āĻ˛ā§‡:

// āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ āĻ¯āĻž cbOne āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻĻāĻŋāĻ•ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°ā§‡
one = MakeCallback (&CbOne);

āĻāĻ‡ āĻ•āĻ˛ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻ•āĻ°ā§āĻ¨ āĻŽā§‚āĻ˛āĻ¤, āĻŦāĻŋāĻļā§‡āĻˇāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻĢāĻžāĻ‚āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž
āĻ‰āĻĒāĻ°ā§‹āĻ˛ā§āĻ˛āĻŋāĻ–āĻŋāĻ¤. āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ˜ā§‹āĻˇāĻŋāĻ¤ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¯āĻžāĻšā§āĻ›ā§‡
āĻœā§‡āĻ¨ā§‡āĻ°āĻŋāĻ• āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻ…āĻ‚āĻļ āĻŦāĻžāĻœāĻžāĻ¨ā§‹ āĻšāĻŦā§‡āĨ¤ āĻ¨āĻŋāĻ¯āĻŧā§‹āĻ— āĻāĻ• = āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻ•āĻ°ā§āĻ¨ (&CbOne) is
āĻ•āĻžāĻ¸ā§āĻŸ āĻ¯āĻž āĻ•āĻ˛āĻŋāĻ° āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ āĻŦāĻŋāĻļā§‡āĻˇ āĻĢāĻžāĻ‚āĻļāĻ¨āĻ•ā§‡ āĻœā§‡āĻ¨ā§‡āĻ°āĻŋāĻ• āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡ āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻ•āĻ°ā§‡
āĻ•āĻ˛āĻžāĻ° āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤āĨ¤

āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡, āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€āĻ¤ā§‡ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡, āĻ¯āĻĻāĻŋ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ•ā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¯āĻŧ, āĻāĻŸāĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§‚āĻĒ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡:

NS_ASSERT (!one.IsNull ());

// āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ cbOne āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ†āĻšā§āĻŦāĻžāĻ¨ āĻ•āĻ°ā§āĻ¨
āĻĄāĻŦāĻ˛ retOne;
retOne = one (10.0, 20.0);

āĻœāĻ¨ā§āĻ¯ āĻšā§‡āĻ• IsNull() āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ•āĻŸāĻŋ āĻļā§‚āĻ¨ā§āĻ¯ āĻ¨āĻ¯āĻŧ -- āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ†āĻ›ā§‡
āĻāĻ‡ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ•ā§‡āĻ° āĻĒāĻŋāĻ›āĻ¨ā§‡ āĻ•āĻ˛ āĻ•āĻ°āĻ¤ā§‡āĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ°, āĻāĻ•() āĻœā§‡āĻ¨ā§‡āĻ°āĻŋāĻ• āĻšāĻžāĻ˛āĻžāĻ¯āĻŧ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°() āĻ¯āĻž āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ‡
āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ¸āĻ™ā§āĻ—ā§‡ āĻ“āĻ­āĻžāĻ°āĻ˛ā§‹āĻĄ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°() āĻāĻŦāĻ‚ āĻ¯āĻĻāĻŋ āĻāĻ•āĻ‡ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡
CbOne() āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻĄāĻžāĻ•āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤

āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻĻā§āĻ¯ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻāĻĒāĻŋāĻ†āĻ‡ āĻ¸āĻ™ā§āĻ—ā§‡ āĻ¸āĻĻāĻ¸ā§āĻ¯ āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ˛āĻžāĻĒ
āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤, āĻ†āĻĒāĻ¨āĻŋ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ•āĻ˛ āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ¨āĻž āĻŦāĻ°āĻ‚ āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻĒāĻžāĻŦāĻ˛āĻŋāĻ• āĻŽā§‡āĻŽā§āĻŦāĻžāĻ° āĻĢāĻžāĻ‚āĻļāĻ¨
āĻāĻ•āĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§ āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, MakeCallback āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨, to
āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻ•ā§‡ āĻŦāĻ˛ā§āĻ¨ āĻ•ā§‹āĻ¨ āĻŦāĻ¸ā§āĻ¤ā§āĻ¤ā§‡ āĻĢāĻžāĻ‚āĻļāĻ¨āĻŸāĻŋ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤ āĻāĻ‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°ā§āĻ¨,
āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ main-callback.cc āĻĨā§‡āĻ•ā§‡:

āĻ•ā§āĻ˛āĻžāĻ¸ MyCb {
āĻĒā§āĻ°āĻ•āĻžāĻļā§āĻ¯:
int CbTwo (āĻĄāĻžāĻŦāĻ˛ a) {
std::cout << " invoke cbTwo a=" << a << std::endl;
āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ -5;
}
};

int āĻĒā§āĻ°āĻ§āĻžāĻ¨ ()
{
...
// āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻŸāĻžāĻ‡āĻĒ: int
// āĻĒā§āĻ°āĻĨāĻŽ arg āĻŸāĻžāĻ‡āĻĒ: āĻĄāĻŦāĻ˛
āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻĻā§āĻ‡
āĻŽāĻžāĻ‡āĻ¸āĻŋāĻŦāĻŋ āĻ¸āĻŋāĻŦāĻŋ;
// āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ āĻ¯āĻž MyCb::cbTwo-āĻ¤ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°ā§‡
āĻĻā§āĻ‡ = MakeCallback (&MyCb::CbTwo, &cb);
...
}

āĻāĻ–āĻžāĻ¨ā§‡, āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻĒāĻžāĻ¸ āĻ•āĻ°āĻŋ āĻŽā§‡āĻ•āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ•<> āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻšāĻžāĻ°
āĻ¯ā§‡ āĻ‰āĻĒāĻ°ā§‡ āĻĒāĻŸāĻ­ā§‚āĻŽāĻŋ āĻŦāĻŋāĻ­āĻžāĻ— āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°() āĻ¸āĻĻāĻ¸ā§āĻ¯ āĻ¸āĻŋāĻ¨āĻŸā§āĻ¯āĻžāĻ•ā§āĻ¸ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦā§‡ āĻ¯āĻ–āĻ¨ āĻāĻŸāĻŋ
āĻāĻ•āĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ‰āĻĒāĻ° āĻšāĻžāĻ˛āĻžāĻ¨ā§‹:

āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ int āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°() (ARG arg)
{
(*m_p.*m_pmi)(arg);
}

āĻāĻŦāĻ‚ āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĻā§āĻŸāĻŋ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ (m_p āĻāĻŦāĻ‚ m_pmi) āĻ¯āĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°ā§‡āĻ›āĻŋ
āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ˛āĻžāĻ‡āĻ¨:

āĻĻā§āĻ‡ = MakeCallback (&MyCb::CbTwo, &cb);

āĻ…āĻŦāĻŋāĻ•āĻ˛ āĻ¯ā§‡ āĻ•āĻ°ā§‡āĨ¤ āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ¯āĻ–āĻ¨ āĻĻā§āĻ‡ () āĻ†āĻšā§āĻŦāĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ:

int āĻĢāĻ˛āĻžāĻĢāĻ˛ = āĻĻā§āĻ‡ (1.0);

āĻāĻ•āĻŸāĻŋ āĻ•āĻ˛ tothe āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻšāĻŦā§‡ CbTwo āĻ¸āĻĻāĻ¸ā§āĻ¯ āĻĢāĻžāĻ‚āĻļāĻ¨ (āĻĒāĻĻā§āĻ§āĻ¤āĻŋ) āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻŋāĻ¤ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ‰āĻĒāĻ°
&cb.

āĻ­āĻŦāĻ¨ āĻ–āĻžāĻ˛āĻŋ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ•āĻ¸
āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻļā§‚āĻ¨ā§āĻ¯ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡; āĻ¤āĻžāĻ‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ†āĻ—ā§‡ āĻšā§‡āĻ• āĻ•āĻ°āĻž āĻŦā§āĻĻā§āĻ§āĻŋāĻŽāĻžāĻ¨ā§‡āĻ° āĻ•āĻžāĻœ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤
āĻāĻ•āĻŸāĻŋ āĻ¨āĻžāĻ˛ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ•ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻļā§‡āĻˇ āĻ—āĻ āĻ¨ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻž āĻ•ā§‡āĻŦāĻ˛ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻ­āĻžāĻ˛
āĻāĻ•āĻŸāĻŋ āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ "0"; āĻāĻŸāĻž MakeNullCallback<> āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ:

āĻĻā§āĻ‡ = MakeNullCallback ();
NS_ASSERT (two.IsNull ());

āĻāĻ•āĻŸāĻŋ āĻ¨āĻžāĻ˛ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻ†āĻšā§āĻŦāĻžāĻ¨ āĻ•āĻ°āĻž āĻ āĻŋāĻ• āĻāĻ•āĻŸāĻŋ āĻ¨āĻžāĻ˛ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻ†āĻšā§āĻŦāĻžāĻ¨ āĻ•āĻ°āĻžāĻ° āĻŽāĻ¤ā§‹: āĻāĻŸāĻŋ āĻ•ā§āĻ°ā§āĻ¯āĻžāĻļ āĻšāĻŦā§‡
āĻ°āĻžāĻ¨āĻŸāĻžāĻ‡āĻŽ

āĻ†āĻŦāĻĻā§āĻ§ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ•āĻ¸
āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ§āĻžāĻ°āĻŖāĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ–ā§āĻŦ āĻĻāĻ°āĻ•āĻžāĻ°ā§€ āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻ†āĻŦāĻĻā§āĻ§ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ•āĨ¤ āĻ†āĻ—ā§‡ āĻāĻŸāĻž
āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻ¯ā§‡ āĻŦāĻ¨ā§āĻ§āĻ—ā§āĻ˛āĻŋ āĻŽā§‚āĻ˛āĻ¤ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ•āĻ˛āĻ—ā§āĻ˛āĻŋ āĻĒāĻ°ā§‡ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ā§ˇ
āĻŽā§ƒāĻ¤ā§āĻ¯ā§āĻĻāĻ¨ā§āĻĄ āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ•ā§‡āĻ° āĻŦāĻŋāĻŦāĻ°āĻŖā§‡, āĻ•ā§‹āĻ¨ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻ¨ā§‡āĻ‡
āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻ•āĻ°ā§āĻ¨ -- āĻ¯āĻ–āĻ¨ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°().
āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ•āĻ˛āĻŋāĻ‚ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻĢāĻžāĻ‚āĻļāĻ¨ (āĻ¯ā§‡āĻŸāĻŋ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡) āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻāĻŋāĻ¤ā§‡ āĻšāĻžāĻ‡āĻ˛ā§‡ āĻ•āĻŋ āĻšāĻŦā§‡
āĻ•āĻŋāĻ›ā§ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨? āĻ†āĻ˛ā§‡āĻ•āĻœāĻžāĻ¨ā§āĻĻā§āĻ°ā§‡āĻ¸ā§āĻ•ā§ āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻ•ā§‡ āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•ā§‡ āĻ•āĻ˛ āĻ•āĻ°ā§‡
āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋāĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°ā§āĻ¨ "āĻ†āĻŦāĻĻā§āĻ§". āĻāĻ° āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋāĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°() āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ†āĻŦāĻĻā§āĻ§ (āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ)āĨ¤

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻŋāĻ›ā§ pcap āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ•ā§‹āĻĄ āĻāĻ° āĻāĻ•āĻŸāĻŋ āĻšāĻŽā§ŽāĻ•āĻžāĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ†āĻ›ā§‡ āĻ¯ā§‡
āĻ¯āĻ–āĻ¨āĻ‡ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¤āĻ–āĻ¨āĻ‡ āĻ•āĻ˛ āĻ•āĻ°āĻž āĻĻāĻ°āĻ•āĻžāĻ°āĨ¤ āĻāĻ‡ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻāĻ•āĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§ āĻ•āĻ˛ āĻ¯ā§‡
āĻ†āĻ¸āĻ˛ā§‡ pcap āĻĢāĻžāĻ‡āĻ˛ āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻŸā§‡ āĻĄāĻŋāĻ¸ā§āĻ•ā§‡ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻ˛ā§‡āĻ–ā§‡āĨ¤ āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻœāĻ¨ā§‡āĻ° āĻ¸ā§āĻŦāĻžāĻ•ā§āĻˇāĻ°
āĻĢāĻžāĻ‚āĻļāĻ¨ āĻšāĻŦā§‡:

āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ¸āĻŋāĻ™ā§āĻ• (Ptr āĻĢāĻžāĻ‡āĻ˛, Ptr āĻĒāĻŋ);

āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻ•ā§€āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄā§‡āĻ° āĻ…āĻ°ā§āĻĨ āĻšāĻ˛ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¯āĻžāĻ° āĻ•ā§‹āĻ¨ā§‹ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¨ā§‡āĻ‡ āĻāĻ‡ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻ•, āĻ¤āĻžāĻ‡
āĻāĻŸāĻŋ āĻ¸āĻŋ-āĻ¸ā§āĻŸāĻžāĻ‡āĻ˛ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤ āĻ†āĻŽāĻ°āĻž āĻšāĻžāĻ‡ āĻ¨āĻž āĻ¯ā§‡ āĻ•āĻ˛āĻŋāĻ‚ āĻ•ā§‹āĻĄ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻœāĻžāĻ¨āĻ¤ā§‡ āĻšāĻŦā§‡
āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻ›āĻžāĻĄāĻŧāĻž āĻ…āĻ¨ā§āĻ¯ āĻ•āĻŋāĻ›ā§āĨ¤ āĻ•āĻ˛āĻŋāĻ‚ āĻ•ā§‹āĻĄā§‡ āĻ†āĻŽāĻ°āĻž āĻ¯āĻž āĻšāĻžāĻ‡ āĻ¤āĻž āĻšāĻ˛ āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ•āĻ˛ āĻ¯āĻž āĻĻā§‡āĻ–āĻ¤ā§‡:

m_promiscSnifferTrace (m_currentPkt);

āĻ†āĻŽāĻ°āĻž āĻ•āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡ āĻŦāĻžāĻāĻ§āĻžāĻ‡ āĻ•āĻ°āĻž āĻĻā§āĻ¯ Ptr āĻĢāĻžāĻ‡āĻ˛ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ•ā§‡
āĻ¯āĻ–āĻ¨ āĻāĻŸāĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¤āĻ–āĻ¨ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻž āĻ•āĻ°ā§‡ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°() āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻĨā§‡āĻ•ā§‡
āĻŦāĻŋāĻ¨āĻžāĻŽā§‚āĻ˛ā§āĻ¯ā§‡ āĻ¯ā§‡ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§āĻ¨.

āĻ†āĻŽāĻ°āĻž āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻŽā§‡āĻ•āĻŦāĻžāĻ‰āĻ¨ā§āĻĄ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻ¯ā§‡ āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ā§‡ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ āĻĢāĻžāĻ‚āĻļāĻ¨. āĻāĻŸāĻž āĻāĻ•āĻ‡ āĻ˛āĻžāĻ—ā§‡
āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻ•āĻ°ā§āĻ¨ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻšāĻ¤ā§‡ āĻ˛āĻžāĻ—ā§‡
āĻ†āĻŦāĻĻā§āĻ§. āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡:

MakeBoundCallback (&DefaultSink, file);

āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦā§‡ āĻ¯āĻž āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻŦāĻžāĻ‰āĻ¨ā§āĻĄā§‡ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻœāĻžāĻ¨ā§‡
āĻ¯ā§āĻ•ā§āĻ¤āĻŋ. āĻ§āĻžāĻ°āĻŖāĻžāĻ—āĻ¤āĻ­āĻžāĻŦā§‡, āĻāĻŸāĻŋ āĻ‰āĻĒāĻ°ā§‡ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĢāĻžāĻ‚āĻļāĻ¨āĻ•ā§‡ āĻāĻ• āĻŦāĻž āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻĻāĻŋāĻ¯āĻŧā§‡ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻ•āĻ°ā§‡
āĻ†āĻŦāĻĻā§āĻ§ āĻ¯ā§āĻ•ā§āĻ¤āĻŋ:

āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ
āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¸ā§āĻĒā§‡āĻ¸āĻŋāĻĢāĻŋāĻ• āĻĢāĻžāĻ‚āĻļāĻ¨: āĻĒāĻžāĻŦāĻ˛āĻŋāĻ• āĻĢāĻžāĻ‚āĻļāĻ¨
{
āĻĒā§āĻ°āĻ•āĻžāĻļā§āĻ¯:
SpecificFunctor(T*p, int (T::*_pmi)(ARG arg), BOUND_ARG boundArg)
{
m_p = p;
m_pmi = pmi;
m_boundArg = boundArg;
}

āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ int āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°() (ARG arg)
{
(*m_p.*m_pmi)(m_boundArg, arg);
}
āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤:
void (T::*m_pmi)(ARG arg);
T* m_p;
BOUND_ARG m_boundArg;
};

āĻ†āĻĒāĻ¨āĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻšā§āĻ›ā§‡āĻ¨ āĻ¯ā§‡ āĻ¯āĻ–āĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻ–āĻ¨ āĻ†āĻŦāĻĻā§āĻ§ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸāĻŸāĻŋ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŋāĻ¤ āĻšāĻ¯āĻŧ
āĻĢāĻžāĻ‚āĻļāĻ¨ / āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻŦāĻ¸ā§āĻ¤ā§ āĻ¨āĻŋāĻœā§‡āĻ‡āĨ¤ āĻ¯āĻ–āĻ¨ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°() āĻāĻ•āĻ• āĻ¸āĻ™ā§āĻ—ā§‡ āĻ†āĻšā§āĻŦāĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ, āĻ¯ā§‡āĻŽāĻ¨:

m_promiscSnifferTrace (m_currentPkt);

āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°() āĻĒā§āĻ°āĻ•ā§ƒāĻ¤ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ•āĻ˛ā§‡ āĻ†āĻŦāĻĻā§āĻ§ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡:

(*m_p.*m_pmi)(m_boundArg, arg);

āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ āĻĻā§āĻ‡ āĻŦāĻž āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻ†āĻŦāĻĻā§āĻ§ āĻ•āĻ°āĻž āĻ¸āĻŽā§āĻ­āĻŦāĨ¤ āĻ†āĻŽāĻ°āĻž āĻ¸āĻ™ā§āĻ—ā§‡ āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ†āĻ›ā§‡ āĻŦāĻ˛ā§āĻ¨
āĻ¸ā§āĻŦāĻžāĻ•ā§āĻˇāĻ°:

āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻļā§‚āĻ¨ā§āĻ¯ NotifyEvent (Ptr a, Ptr b, MyEventType e);

āĻāĻ•āĻœāĻ¨ āĻ†āĻŦāĻĻā§āĻ§ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚ āĻĒā§āĻ°āĻĨāĻŽ āĻĻā§āĻŸāĻŋ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¯ā§‡āĻŽāĻ¨:

MakeBoundCallback (&NotifyEvent, a1, b1);

āĻ…āĻ­āĻŋāĻŽāĻžāĻ¨ā§€ a1 āĻāĻŦāĻ‚ b1 āĻŸāĻžāĻ‡āĻĒā§‡āĻ° āĻŦāĻ¸ā§āĻ¤ā§ A āĻāĻŦāĻ‚ B āĻ¯āĻĨāĻžāĻ•ā§āĻ°āĻŽā§‡ āĻāĻ•āĻ‡āĻ­āĻžāĻŦā§‡ āĻ¤āĻŋāĻ¨āĻœāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯
āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸāĻ—ā§āĻ˛āĻŋ āĻāĻ•āĻœāĻ¨ā§‡āĻ° āĻ¸ā§āĻŦāĻžāĻ•ā§āĻˇāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻŦā§‡:

āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻļā§‚āĻ¨ā§āĻ¯ NotifyEvent (Ptr a, Ptr b, MyEventType e);

āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻŦāĻžāĻāĻ§āĻžāĻ‡:

MakeBoundCallback (&NotifyEvent, a1, b1, c1);

āĻ†āĻŦāĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻžāĻ¨ a1, b1 āĻāĻŦāĻ‚ c1 āĻŸāĻžāĻ‡āĻĒā§‡āĻ° āĻŦāĻ¸ā§āĻ¤ā§ A, B āĻāĻŦāĻ‚ C āĻ¯āĻĨāĻžāĻ•ā§āĻ°āĻŽā§‡.

āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ā§‡ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¤āĻĨā§āĻ¯ āĻŦāĻŋāĻ¨āĻŋāĻŽāĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻŦāĻžāĻāĻ§āĻžāĻ‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡;
āĻŦāĻŋāĻļā§‡āĻˇāĻ­āĻžāĻŦā§‡, āĻ†āĻŦāĻĻā§āĻ§ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ•āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻŸā§āĻ°ā§‡āĻ¸āĻĄ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ¯āĻž āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻŦā§‡
āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧāĨ¤

āĻ†āĻāĻ•āĻž āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ•āĻ¸
āĻĒā§āĻ˛ā§‡āĻ¸āĻšā§‹āĻ˛ā§āĻĄāĻžāĻ° āĻ‰āĻĒāĻ§āĻžāĻ°āĻž

āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ in ns-3
āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ•āĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧā§ˇ ns-3? āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻ°ā§‹ āĻĻā§ƒāĻļā§āĻ¯āĻŽāĻžāĻ¨ āĻŦā§‡āĻļā§€ āĻ•āĻŋāĻ›ā§ āĻ†āĻ›ā§‡
āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€:

¡ āĻ¸āĻ•ā§‡āĻŸ API

āĻ˛ā§‡āĻ¯āĻŧāĻžāĻ°-2/āĻ˛ā§‡āĻ¯āĻŧāĻžāĻ°-3 API

¡ āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻžāĻŦāĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ

āĻ†āĻ‡āĻĒāĻŋ āĻāĻŦāĻ‚ āĻ°āĻžāĻ‰āĻŸāĻŋāĻ‚ āĻ¸āĻžāĻŦāĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ API

āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤
āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ•ā§‹āĻĄ āĻ¸ā§āĻ¨āĻŋāĻĒā§‡āĻŸāĻ—ā§āĻ˛āĻŋ āĻ¸āĻ°āĻ˛ āĻāĻŦāĻ‚ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋ āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
āĻ¨āĻŋāĻœā§‡āĻ‡ āĻĒā§āĻ°āĻ•ā§ƒāĻ¤ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻ•ā§‹āĻĄāĻŸāĻŋ āĻŦā§‡āĻļ āĻœāĻŸāĻŋāĻ˛ āĻāĻŦāĻ‚ āĻ–ā§āĻŦ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ-āĻ¤ā§€āĻŦā§āĻ° āĻāĻŦāĻ‚ āĻ•
āĻ•ā§‹āĻĄā§‡āĻ° āĻ—āĻ­ā§€āĻ° āĻŦā§‹āĻāĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¨ā§‡āĻ‡āĨ¤ āĻ†āĻ—ā§āĻ°āĻšā§€ āĻšāĻ˛ā§‡, āĻŦāĻŋāĻļā§‡āĻˇāĻœā§āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻ–ā§āĻāĻœā§‡ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĻāĻ°āĻ•āĻžāĻ°ā§€.

āĻ•ā§‹āĻĄāĻŸāĻŋ āĻŽā§‚āĻ˛āĻ¤ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻ•ā§ŒāĻļāĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛
http://www.codeproject.com/cpp/TTLFunction.asp. āĻāĻŸāĻŋ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€āĻ¤ā§‡ āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛
āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸ā§āĻĨāĻžāĻĒāĻ¤ā§āĻ¯ āĻ°ā§‚āĻĒāĻ°ā§‡āĻ–āĻž āĻ†āĻ§ā§āĻ¨āĻŋāĻ• āĻ¸āĻŋ ++ āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨, āĻœāĻžāĻ¤āĻŋāĻŦāĻžāĻšāĻ• āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŋāĻ‚ āĻāĻŦāĻ‚ āĻ¨āĻ•āĻļāĻž āĻĒā§āĻ¯āĻžāĻŸāĻžāĻ°ā§āĻ¨āĻ¸
āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ†āĻ˛ā§‡āĻ•āĻœāĻžāĻ¨ā§āĻĻā§āĻ°ā§‡āĻ¸ā§āĻ•ā§, āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ 5, āĻœā§‡āĻ¨āĻžāĻ°āĻžāĻ˛āĻžāĻ‡āĻœāĻĄ āĻĢāĻžāĻ‚āĻļāĻ¨.

āĻāĻ‡ āĻ•ā§‹āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡:

¡ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻ¯āĻ–āĻ¨ āĻ–āĻžāĻ˛āĻŋ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻšā§āĻ›ā§‡ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§‡
āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°ā§‡āĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ¸āĻ°ā§āĻŦāĻžāĻ§āĻŋāĻ• āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻ›ā§‹āĻŸ

¡ āĻĒāĻŋāĻŽā§āĻĒāĻ˛ āĻ‡āĻĄāĻŋāĻ¯āĻŧāĻŽ: āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻ•ā§āĻ˛āĻžāĻ¸āĻŸāĻŋ āĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒāĻžāĻ¸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻāĻ° āĻŽā§‚āĻ˛ āĻ…āĻ‚āĻļāĻ•ā§‡ āĻ…āĻ°ā§āĻĒāĻŖ āĻ•āĻ°ā§‡
āĻ•āĻžāĻœ āĻ¤āĻžāĻ° pimpl āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ°.

¡ āĻĻā§āĻŸāĻŋ āĻĒāĻŋāĻŽā§āĻĒāĻ˛ āĻ‡āĻŽāĻĒā§āĻ˛āĻŋāĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻ¯āĻž CallbackImpl FunctorCallbackImpl āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ¯ā§‡āĻ•ā§‹āĻ¨ āĻĢāĻžāĻ‚āĻļāĻ¨-āĻŸāĻžāĻ‡āĻĒā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŽā§‡āĻŽāĻĒāĻŋāĻŸāĻŋāĻ†āĻ°āĻ•ā§āĻ¯āĻžāĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻ‡āĻŽāĻĒā§āĻ˛āĻ•ā§‡ āĻ¸āĻĻāĻ¸ā§āĻ¯āĻĻā§‡āĻ° āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻ¸āĻš āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻĢāĻžāĻ‚āĻļāĻ¨āĨ¤

āĻāĻ•āĻŸāĻŋ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ•ā§‡āĻ° āĻŽāĻžāĻ¨ āĻļāĻŦā§āĻĻāĻžāĻ°ā§āĻĨāĻŦāĻŋāĻĻā§āĻ¯āĻž āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯āĨ¤

āĻāĻ‡ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–āĻ¯ā§‹āĻ—ā§āĻ¯āĻ­āĻžāĻŦā§‡ āĻ†āĻ˛ā§‡āĻ•āĻœāĻžāĻ¨ā§āĻĻā§āĻ°ā§‡āĻ¸ā§āĻ•ā§ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻāĻŸāĻŋ āĻ•āĻ°ā§‡ āĻ¨āĻž
āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻ§āĻ°āĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻāĻŦāĻ‚ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻŸāĻžāĻ‡āĻĒ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ…āĻŦāĻļā§āĻ¯āĻ‡,
āĻāĻŸāĻŋ āĻ•āĻĒāĻŋ-āĻ§ā§āĻŦāĻ‚āĻ¸ āĻļāĻŦā§āĻĻāĻžāĻ°ā§āĻĨāĻŦāĻŋāĻĻā§āĻ¯āĻžāĻ“ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¨āĻž āĻāĻŦāĻ‚ āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡
āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻ§āĻ°ā§‡ āĻ°āĻžāĻ–āĻ¤ā§‡ autoPtr.

āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ āĻŽāĻĄā§‡āĻ˛
ns-3 āĻŽā§‚āĻ˛āĻ¤ āĻāĻ•āĻŸāĻŋ C++ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĨ¤ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ˜ā§‹āĻˇāĻŖāĻž āĻāĻŦāĻ‚ āĻ¤āĻžāĻ¤ā§āĻ•ā§āĻˇāĻŖāĻŋāĻ• āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ•, C++ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§€āĨ¤ ns-3 āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ āĻĒā§āĻ°āĻĨāĻžāĻ—āĻ¤ C++ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡ āĻ•āĻŋāĻ›ā§ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡, āĻ¯ā§‡āĻŽāĻ¨
āĻŦā§ƒāĻšāĻ¤ā§āĻ¤āĻ° āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻāĻŦāĻ‚ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨ā§€āĻšā§‡ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤āĨ¤ āĻāĻ‡ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ āĻšāĻ¯āĻŧ
āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻĒāĻžāĻ āĻ•āĻ•ā§‡ āĻĒāĻ°āĻŋāĻšāĻ¯āĻŧ āĻ•āĻ°āĻŋāĻ¯āĻŧā§‡ āĻĻā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ā§‡ ns-3 āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻŽāĻĄā§‡āĻ˛āĨ¤

āĻāĻ‡ āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ C++ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻ¨āĻ•āĻļāĻž āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°ā§‡ ns-3 āĻŦāĻ¸ā§āĻ¤ā§ āĻ¸āĻ‚āĻ•ā§āĻˇā§‡āĻĒā§‡, āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ¨āĻ•āĻļāĻž
āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻ¨āĻŋāĻĻāĻ°ā§āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ•ā§āĻ˛āĻžāĻ¸āĻŋāĻ• āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ-āĻ“āĻ°āĻŋāĻ¯āĻŧā§‡āĻ¨ā§āĻŸā§‡āĻĄ āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ (āĻĒāĻ˛āĻŋāĻŽāĻ°āĻĢāĻŋāĻ• āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻāĻŦāĻ‚
āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨), āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻāĻŦāĻ‚ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻĒā§ƒāĻĨāĻ•ā§€āĻ•āĻ°āĻŖ, āĻ…-āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻĒāĻžāĻŦāĻ˛āĻŋāĻ•
āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻĒā§āĻ¯āĻžāĻŸāĻžāĻ°ā§āĻ¨, āĻāĻ•āĻŸāĻŋ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ…ā§āĻ¯āĻžāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻļāĻ¨ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻāĻŦāĻ‚ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ•āĻžāĻ‰āĻ¨ā§āĻŸāĻŋāĻ‚ āĻāĻ° āĻœāĻ¨ā§āĻ¯
āĻ¸ā§āĻŽā§ƒāĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž. COM āĻŦāĻž Bonobo āĻāĻ° āĻŽāĻ¤ā§‹ āĻ•āĻŽā§āĻĒā§‹āĻ¨ā§‡āĻ¨ā§āĻŸ āĻŽāĻĄā§‡āĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯āĻžāĻ°āĻž āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ āĻ¤āĻžāĻ°āĻž āĻ•āĻ°āĻŦā§‡
āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¨āĻ•āĻļāĻž āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻšāĻŋāĻ¨āĻ¤ā§‡ ns-3 āĻŦāĻ¸ā§āĻ¤ā§ āĻāĻ•āĻ¤ā§āĻ°ā§€āĻ•āĻ°āĻŖ āĻŽāĻĄā§‡āĻ˛, āĻ¯āĻĻāĻŋāĻ“ ns-3
āĻ¨āĻ•āĻļāĻž āĻ•āĻ ā§‹āĻ°āĻ­āĻžāĻŦā§‡ āĻšāĻ¯āĻŧ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§€ āĻšāĻ¯āĻŧ āĻ¨āĻž.

āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ“āĻ°āĻŋāĻ¯āĻŧā§‡āĻ¨ā§āĻŸā§‡āĻĄ āĻ†āĻšāĻ°āĻŖ
C++ āĻŦāĻ¸ā§āĻ¤ā§, āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ­āĻžāĻŦā§‡, āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŦāĻ¸ā§āĻ¤ā§-āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ• āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ (āĻŦāĻŋāĻŽā§‚āĻ°ā§āĻ¤āĻ¤āĻž,
āĻāĻ¨āĻ•ā§āĻ¯āĻžāĻĒāĻ¸ā§āĻ˛ā§‡āĻļāĻ¨, āĻ‰āĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ° āĻāĻŦāĻ‚ āĻĒāĻ˛āĻŋāĻŽāĻ°āĻĢāĻŋāĻœāĻŽ) āĻ¯āĻž āĻ•ā§āĻ˛āĻžāĻ¸āĻŋāĻ• āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ-āĻ“āĻ°āĻŋāĻ¯āĻŧā§‡āĻ¨ā§āĻŸā§‡āĻĄā§‡āĻ° āĻ…āĻ‚āĻļ
āĻ¨āĻ•āĻļāĻž. ns-3 āĻŦāĻ¸ā§āĻ¤ā§ āĻāĻ‡ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡; āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡:

āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻ āĻŋāĻ•āĻžāĻ¨āĻž
{
āĻĒā§āĻ°āĻ•āĻžāĻļā§āĻ¯:
āĻ āĻŋāĻ•āĻžāĻ¨āĻž ();
āĻ āĻŋāĻ•āĻžāĻ¨āĻž (uint8_t āĻĒā§āĻ°āĻ•āĻžāĻ°, const uint8_t *āĻŦāĻžāĻĢāĻžāĻ°, uint8_t āĻ˛ā§‡āĻ¨);
āĻ āĻŋāĻ•āĻžāĻ¨āĻž (const Address & address);
āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻāĻŦāĻ‚ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° = (const āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻāĻŦāĻ‚ āĻ āĻŋāĻ•āĻžāĻ¨āĻž);
...
āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤:
uint8_t m_type;
uint8_t m_len;
...
};

āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•ā§āĻ˛āĻžāĻ¸
āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻŦāĻŋāĻļā§‡āĻˇ āĻŦā§‡āĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ ns-3. āĻāĻ‡ āĻŦā§‡āĻ¸ āĻĨā§‡āĻ•ā§‡ āĻ‰āĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ°āĻ¸ā§‚āĻ¤ā§āĻ°ā§‡ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻ•ā§āĻ˛āĻžāĻ¸
āĻ•ā§āĻ˛āĻžāĻ¸āĻ—ā§āĻ˛āĻŋ āĻŦāĻŋāĻļā§‡āĻˇ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ¸āĻš āĻŦāĻ¸ā§āĻ¤ā§āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¤āĻžāĻ¤ā§āĻ•ā§āĻˇāĻŖāĻŋāĻ• āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻ‡ āĻŦā§‡āĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸ āĻšāĻ˛:

¡ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯

¡ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸāĻŦā§‡āĻ¸

¡ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¸āĻ°āĻ˛āĻ°ā§‡āĻĢ āĻ•āĻžāĻ‰āĻ¨ā§āĻŸ

āĻāĻŸāĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¨ā§‡āĻ‡ ns-3 āĻŦāĻ¸ā§āĻ¤ā§ āĻāĻ‡ āĻļā§āĻ°ā§‡āĻŖā§€āĻ° āĻĨā§‡āĻ•ā§‡ āĻ‰āĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ°āĻ¸ā§‚āĻ¤ā§āĻ°ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¯āĻžāĻ°āĻž āĻĒā§‡āĻ¤ā§‡
āĻŦāĻŋāĻļā§‡āĻˇ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĨ¤ āĻ•ā§āĻ˛āĻžāĻ¸ āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻĒāĻžāĻ¨āĨ¤

¡ āĻĻā§āĻ¯ ns-3 āĻŸāĻžāĻ‡āĻĒ āĻāĻŦāĻ‚ āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ (āĻāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻĻā§‡āĻ–ā§āĻ¨)

āĻāĻ•āĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§ āĻāĻ•āĻ¤ā§āĻ°ā§€āĻ•āĻ°āĻŖ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ

āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŽāĻžāĻ°ā§āĻŸ-āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ•āĻžāĻ‰āĻ¨ā§āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ (āĻ•ā§āĻ˛āĻžāĻ¸ Ptr)

āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¯ā§‡ āĻ•ā§āĻ˛āĻžāĻ¸ āĻĨā§‡āĻ•ā§‡ āĻ‰āĻĻā§āĻ­ā§‚āĻ¤ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸāĻŦā§‡āĻ¸ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻĻā§āĻŸāĻŋ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻĒāĻžāĻ¨, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¨āĻž
āĻ¸ā§āĻŽāĻžāĻ°ā§āĻŸ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻĒāĻžāĻ¨āĨ¤ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¯ā§‡ āĻ•ā§āĻ˛āĻžāĻ¸ āĻĨā§‡āĻ•ā§‡ āĻ‰āĻĻā§āĻ­ā§‚āĻ¤ āĻ¸āĻ°āĻ˛āĻ°ā§‡āĻĢ āĻ•āĻžāĻ‰āĻ¨ā§āĻŸ: āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒā§‡āĻ¤ā§‡
āĻ¸ā§āĻŽāĻžāĻ°ā§āĻŸ-āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ—āĻŖāĻ¨āĻž āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĨ¤

āĻ…āĻ¨ā§āĻļā§€āĻ˛āĻ¨ā§‡, āĻ•ā§āĻ˛āĻžāĻ¸ āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ¤āĻŋāĻ¨āĻŸāĻŋāĻ° āĻŦā§ˆāĻ•āĻ˛ā§āĻĒāĻŋāĻ• ns-3 āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€ āĻ•āĻ°āĻŦā§‡
āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ¸āĻŽā§āĻŽā§āĻ–ā§€āĻ¨.

āĻ¸ā§āĻŽā§ƒāĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž āĻāĻŦāĻ‚ āĻļā§āĻ°ā§‡āĻŖā§€ ptr
āĻāĻ•āĻŸāĻŋ C++ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡ āĻŽā§‡āĻŽāĻ°āĻŋ āĻŽā§āĻ¯āĻžāĻ¨ā§‡āĻœāĻŽā§‡āĻ¨ā§āĻŸ āĻāĻ•āĻŸāĻŋ āĻœāĻŸāĻŋāĻ˛ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ‡ āĻ­ā§āĻ˛āĻ­āĻžāĻŦā§‡ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻ…āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯āĻĒā§‚āĻ°ā§āĻŖāĻ­āĻžāĻŦā§‡ āĻ†āĻŽāĻ°āĻž āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§‚āĻĒ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻāĻ•āĻŸāĻŋ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ—āĻŖāĻ¨āĻž āĻ¨āĻ•āĻļāĻž āĻ¸ā§āĻĨāĻŋāĻ° āĻ•āĻ°ā§‡āĻ›āĻŋ.

āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ—āĻŖāĻ¨āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦāĻ¸ā§āĻ¤ā§ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ—āĻŖāĻ¨āĻž āĻŦāĻœāĻžāĻ¯āĻŧ āĻ°āĻžāĻ–ā§‡
āĻ¯āĻ–āĻ¨ āĻāĻ•āĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§ āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻā§‡ āĻ¨āĻŋāĻœā§‡āĻ•ā§‡ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¸āĻŽāĻ¯āĻŧ āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸, āĻ•āĻ˛ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ•āĻžāĻ‰āĻ¨ā§āĻŸ āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ°ā§‡āĻĢ()āĨ¤ āĻāĻŸāĻž
āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ­āĻžāĻŦā§‡ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻ• āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻŦāĻžāĻ§ā§āĻ¯āĻŦāĻžāĻ§āĻ•āĻ¤āĻž Unref() āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻ• āĻ¯āĻ–āĻ¨ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻšāĻ¯āĻŧ. āĻ•āĻ–āĻ¨
āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ—āĻŖāĻ¨āĻž āĻļā§‚āĻ¨ā§āĻ¯ā§‡ āĻĒāĻĄāĻŧā§‡, āĻŦāĻ¸ā§āĻ¤ā§āĻŸāĻŋ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻž āĻšāĻ¯āĻŧāĨ¤

¡ āĻ¯āĻ–āĻ¨ āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻ•ā§‹āĻĄ āĻŦāĻ¸ā§āĻ¤ā§ āĻ¤ā§ˆāĻ°āĻŋāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻŦāĻ¸ā§āĻ¤ā§ āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻĒāĻžāĻ¯āĻŧ,
āĻ…āĻĨāĻŦāĻž GetObject āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡, āĻāĻŸāĻŋāĻ•ā§‡ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ•āĻžāĻ‰āĻ¨ā§āĻŸ āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¨āĻžāĨ¤

¡ āĻ¯āĻ–āĻ¨ āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻ•ā§‹āĻĄ āĻ…āĻ¨ā§āĻ¯ āĻ‰ā§ŽāĻ¸ āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻ•āĻ°ā§‡ (āĻ¯ā§‡āĻŽāĻ¨, āĻāĻ•āĻŸāĻŋ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ•āĻ°āĻž) āĻāĻŸāĻŋ āĻ†āĻŦāĻļā§āĻ¯āĻ•
āĻ•āĻ˛ āĻ°ā§‡āĻĢ() āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ•āĻžāĻ‰āĻ¨ā§āĻŸ āĻŦāĻžāĻĄāĻŧāĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯āĨ¤

¡ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻ¸āĻ•āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ•ā§‡ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ•āĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ Unref() āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻĒā§āĻ°āĻ•āĻžāĻļ āĻ•āĻ°āĻ¤ā§‡āĨ¤

āĻĄāĻžāĻ•āĻžāĻ° āĻ­āĻžāĻ° Unref() āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ—āĻŖāĻ¨āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ•āĻŋāĻ›ā§āĻŸāĻž āĻ‰āĻĒāĻļāĻŽ āĻšāĻ¯āĻŧ
āĻ¨ā§€āĻšā§‡ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻ¸ā§āĻŽāĻžāĻ°ā§āĻŸ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻ•ā§āĻ˛āĻžāĻ¸āĨ¤

āĻ¨āĻŋāĻŽā§āĻ¨-āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° API āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ¯āĻžāĻ°āĻž āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ­āĻžāĻŦā§‡ āĻ…-āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸-āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻŦāĻ¸ā§āĻ¤ā§ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨
on the heap, āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡, āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻŦāĻ¸ā§āĻ¤ā§ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĻāĻžāĻ¯āĻŧā§€āĨ¤

āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ—āĻŖāĻ¨āĻžāĻ•āĻžāĻ°ā§€ āĻ¸ā§āĻŽāĻžāĻ°ā§āĻŸ āĻ‡āĻļāĻžāĻ°āĻž (Ptr)
āĻ•āĻ˛ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ āĻ°ā§‡āĻĢ() āĻāĻŦāĻ‚ Unref() āĻ¸āĻŦ āĻ¸āĻŽāĻ¯āĻŧ āĻ•āĻˇā§āĻŸāĻ•āĻ° āĻšāĻŦā§‡, āĻ¤āĻžāĻ‡ ns-3 āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŽāĻžāĻ°ā§āĻŸ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡
āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻ•ā§āĻ˛āĻžāĻ¸ ptr āĻ…āĻ¨ā§āĻ°ā§‚āĻĒ, āĻāĻ•āĻ‡, āĻ¸āĻŽāĻ¤ā§āĻ˛ā§āĻ¯ Boost::intrusive_ptr. āĻāĻ‡ āĻ¸ā§āĻŽāĻžāĻ°ā§āĻŸ-āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻ•ā§āĻ˛āĻžāĻ¸ āĻ…āĻ¨ā§āĻŽāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻ¯ā§‡
āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻĒā§āĻ°āĻ•āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻœā§‹āĻĄāĻŧāĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻ¸ā§‚āĻ¤ā§āĻ° āĻāĻŦāĻ‚ āĻ†āĻ¨āĻ°ā§‡āĻĢ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ
āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ‡āĻ¨āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻ¸ā§‡āĻ° āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻ°āĻŋāĻĢāĻ•āĻžāĻ‰āĻ¨ā§āĻŸ āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻāĻŦāĻ‚ āĻšā§āĻ°āĻžāĻ¸āĨ¤

āĻāĻ‡ āĻ‡āĻŽāĻĒā§āĻ˛āĻŋāĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨āĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¸ā§āĻŽāĻžāĻ°ā§āĻŸ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ°āĻ•ā§‡ āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĒā§āĻ˛ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ āĻ¯ā§‡āĻ¨ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ•
āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ°: āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻŋāĻ•ā§‡ āĻļā§‚āĻ¨ā§āĻ¯ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¤ā§āĻ˛āĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¤ā§āĻ˛āĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻļā§‚āĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻāĻŸāĻž, āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋ

āĻāĻŸāĻŋ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻāĻ‡ āĻ¸ā§āĻŽāĻžāĻ°ā§āĻŸ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻĨā§‡āĻ•ā§‡ āĻ•āĻžāĻāĻšāĻž āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻŦā§‡āĻ° āĻ•āĻ°āĻž āĻ¸āĻŽā§āĻ­āĻŦ GetPointer()
āĻāĻŦāĻ‚ āĻĒāĻŋāĻ•āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ°() āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŽāĻžāĻ°ā§āĻŸ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻŦāĻ¸ā§āĻ¤ā§ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨, āĻ†āĻŽāĻ°āĻž āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻāĻŋāĻ‡
CreateObject āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻāĻŸāĻŋāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŽāĻžāĻ°ā§āĻŸ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ°ā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§‡
āĻŽā§‡āĻŽāĻ°āĻŋ āĻĢāĻžāĻāĻ¸ āĻāĻĄāĻŧāĻžāĻ¨āĨ¤ āĻāĻ‡ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ‡ āĻ›ā§‹āĻŸ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻ° āĻĢāĻžāĻ‚āĻļāĻ¨ āĻāĻŦāĻ‚ āĻ¤āĻžāĻĻā§‡āĻ° āĻ˛āĻ•ā§āĻˇā§āĻ¯
āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŸāĻžāĻ‡āĻĒ āĻ•āĻ°āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ›ā§‹āĻŸ āĻŦāĻŋāĻŸ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ.

āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻ¸ā§ƒāĻˇā§āĻŸāĻŋ
C++ āĻ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸāĻ—ā§āĻ˛āĻŋ āĻ¸ā§āĻĨāĻŋāĻ°, āĻ—āĻ¤āĻŋāĻļā§€āĻ˛ āĻŦāĻž āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻ‡ āĻ¸āĻ¤ā§āĻ¯ āĻā§āĻ˛āĻŋāĻ¤ā§‡
āĻ‰āĻ¨ā§āĻ¨āĻ¤ ns-3 āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ•āĻŋāĻ›ā§ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ•āĻŋāĻ›ā§ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
āĻŦāĻŋāĻļā§‡āĻˇāĻ¤, āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻŦāĻ¸ā§āĻ¤ā§āĻ—ā§āĻ˛āĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻ•āĻŸāĻŋ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸā§‡āĻĄ āĻ¤ā§ˆāĻ°āĻŋ āĻŦāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
CreateObject āĻĒāĻĻā§āĻ§āĻ¤āĻŋ, āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§‚āĻĒāĨ¤

āĻ•ā§āĻ˛āĻžāĻ¸ āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯:

Ptr āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ = CreateObject ();

āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻŦāĻ¸ā§āĻ¤ā§ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ¨āĻž āĻĻāĻ¯āĻŧāĻž āĻ•āĻ°ā§‡ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° āĻ¨āĻ¤ā§āĻ¨; āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ CreateObject()
āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡.

āĻ•ā§āĻ˛āĻžāĻ¸ āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ°āĻ˛āĻ°ā§‡āĻĢ āĻ•āĻžāĻ‰āĻ¨ā§āĻŸ, āĻŦāĻž āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻŦāĻ¸ā§āĻ¤ā§ āĻ¯āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡
āĻ¸ā§āĻŽāĻžāĻ°ā§āĻŸ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻ•ā§āĻ˛āĻžāĻ¸, āĻāĻ•āĻŸāĻŋ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸā§‡āĻĄ āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ° āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻāĻŦāĻ‚ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ:

Ptr b = Create ();

āĻāĻŸāĻŋ āĻ•ā§‡āĻŦāĻ˛ āĻ¨āĻ¤ā§āĻ¨ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°ā§‡āĻ° āĻšāĻžāĻ°āĻĒāĻžāĻļā§‡ āĻāĻ•āĻŸāĻŋ āĻŽā§‹āĻĄāĻŧāĻ• āĻ¯āĻž āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ—āĻŖāĻ¨āĻž āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°ā§‡
āĻĒāĻĻā§āĻ§āĻ¤āĻŋ.

āĻ¸āĻ‚āĻ•ā§āĻˇā§‡āĻĒā§‡, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨ āĻ¸ā§ƒāĻˇā§āĻŸāĻŋ āĻ¯āĻĻāĻŋ B āĻāĻ•āĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§ āĻ¨āĻž āĻšāĻ¯āĻŧ āĻ¤āĻŦā§‡ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ—āĻŖāĻ¨āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ (āĻ¯ā§‡āĻŽāĻ¨
āĻŽā§‹āĻĄāĻŧāĻ•), āĻ†āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ āĻ¯āĻĻāĻŋ B āĻĨā§‡āĻ•ā§‡ āĻ‰āĻĻā§āĻ­ā§‚āĻ¤ āĻšāĻ¯āĻŧ ns3::āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ.

āĻŽā§‹āĻŸ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ
āĻ¸āĻžāĻ°ā§āĻœāĻžāĻ°āĻŋāĻ° ns-3 āĻŦāĻ¸ā§āĻ¤ā§ āĻāĻ•āĻ¤ā§āĻ°ā§€āĻ•āĻ°āĻŖ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŦā§€āĻ•ā§ƒāĻ¤āĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž āĻļāĻ•ā§āĻ¤āĻŋāĻļāĻžāĻ˛ā§€ āĻ…āĻ‚āĻļā§‡ āĻ…āĻ¨ā§āĻĒā§āĻ°āĻžāĻŖāĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ
āĻœāĻ¨ā§āĻ¯ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ ns-2 āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ° āĻāĻŦāĻ‚ āĻĒāĻ˛āĻŋāĻŽāĻžāĻ°āĻĢāĻŋāĻœāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻŽāĻĄā§‡āĻ˛āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, TCP āĻāĻ° āĻŦāĻŋāĻļā§‡āĻˇ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ¯ā§‡āĻŽāĻ¨ RenoTcpAgent āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻšāĻ¯āĻŧ
āĻ•ā§āĻ˛āĻžāĻ¸ TcpAgent āĻĨā§‡āĻ•ā§‡ (āĻāĻŦāĻ‚ āĻĨā§‡āĻ•ā§‡ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ“āĻ­āĻžāĻ°āĻ°āĻžāĻ‡āĻĄ āĻ•āĻ°ā§āĻ¨)āĨ¤

āĻ¤āĻŦā§‡ āĻĻā§āĻŸāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻĻā§‡āĻ–āĻž āĻĻāĻŋāĻ¯āĻŧā§‡āĻ›ā§‡ ns-2 āĻŽāĻĄā§‡āĻ˛ āĻĄāĻžāĻ‰āĻ¨āĻ•āĻžāĻ¸ā§āĻŸ āĻāĻŦāĻ‚ "āĻĻā§āĻ°ā§āĻŦāĻ˛ āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ
āĻ•ā§āĻ˛āĻžāĻ¸āĨ¤" āĻĄāĻžāĻ‰āĻ¨āĻ•āĻžāĻ¸ā§āĻŸāĻŋāĻ‚ āĻŦāĻ˛āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡ āĻŦā§‡āĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻŦā§‹āĻāĻžāĻ¯āĻŧ āĻāĻŦāĻ‚
āĻŸāĻžāĻ‡āĻĒ āĻ¤āĻĨā§āĻ¯ āĻ–ā§āĻāĻœā§‡ āĻŦā§‡āĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ°āĻžāĻ¨ āĻŸāĻžāĻ‡āĻŽā§‡ āĻāĻŸāĻŋ āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻ•āĻ°āĻž, āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ­āĻžāĻŦā§‡ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻ•āĻžāĻ¸ā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤
āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻŦāĻ•ā§āĻ˛āĻžāĻ¸ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ°ā§‡ āĻ¯āĻžāĻ¤ā§‡ āĻ¸āĻžāĻŦāĻ•ā§āĻ˛āĻžāĻ¸ API āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻĻā§āĻ°ā§āĻŦāĻ˛ āĻŦā§‡āĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸ āĻŦā§‹āĻāĻžāĻ¯āĻŧ
āĻ¯ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ—ā§āĻ˛āĻŋ āĻĻā§‡āĻ–āĻž āĻĻā§‡āĻ¯āĻŧ āĻ¯āĻ–āĻ¨ āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°āĻ­āĻžāĻŦā§‡ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¨āĻž (āĻāĻ° āĻĨā§‡āĻ•ā§‡ āĻ‰āĻĻā§āĻ­ā§‚āĻ¤) āĻ•āĻžāĻ°āĻŖ āĻāĻŸāĻŋ
āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻžāĻ° āĻ…āĻ­āĻžāĻŦ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻžāĻ° āĻĢāĻ˛ā§‡ āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€āĻ•ā§‡ āĻŦā§‡āĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸ āĻāĻŦāĻ‚ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡
āĻŦā§‡āĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸ API āĻ•āĻ˛ā§‡āĻ° āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ° āĻ˜āĻŸāĻžāĻ¯āĻŧ, āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ•āĻŋāĻ›ā§ āĻļāĻŦā§āĻĻāĻžāĻ°ā§āĻĨāĻ—āĻ¤āĻ­āĻžāĻŦā§‡ āĻ¨āĻžāĻ“ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ‰āĻĒāĻļā§āĻ°ā§‡āĻŖā§€āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ āĻŋāĻ•āĨ¤

ns-3 āĻāĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ—ā§āĻ˛āĻŋ āĻāĻĄāĻŧāĻžāĻ¤ā§‡ āĻ•ā§āĻ¯ā§‹āĻ¯āĻŧāĻžāĻ°ā§€ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻĒā§āĻ¯āĻžāĻŸāĻžāĻ°ā§āĻ¨ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ›ā§‡āĨ¤
āĻāĻ‡ āĻ¨āĻ•āĻļāĻž āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ āĻŽāĻĄā§‡āĻ˛ āĻāĻŦāĻ‚ āĻœāĻŋāĻ¨ā§‹āĻŽ āĻŦāĻ¨ā§‹āĻŦā§‹ āĻ¯āĻĻāĻŋāĻ“
āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻ¯ā§‹āĻ—ā§āĻ¯ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻŦāĻžāĻ‡āĻ¨āĻžāĻ°āĻŋ-āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯āĻ¤āĻž āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ āĻ¨āĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ†āĻ›ā§‡
āĻ¸āĻŋāĻ¨āĻŸā§āĻ¯āĻžāĻ•ā§āĻ¸ āĻāĻŦāĻ‚ āĻŽāĻĄā§‡āĻ˛ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻžāĻ°āĻĻā§‡āĻ° āĻ‰āĻĒāĻ° āĻĒā§āĻ°āĻ­āĻžāĻŦ āĻ¸āĻ°āĻ˛ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§‡āĻ›ā§‡āĨ¤

āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ
āĻŽā§‹āĻŸ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ
āĻ¨ā§‹āĻĄ āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤āĻ•āĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ­āĻžāĻ˛ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ ns-3. āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–ā§āĻ¯ āĻ¯ā§‡ āĻ‰āĻĻā§āĻ­ā§‚āĻ¤ āĻšāĻ¯āĻŧ āĻ¨āĻž
āĻ¨ā§‹āĻĄā§‡āĻ° āĻ•ā§āĻ˛āĻžāĻ¸ ns-3 āĻ¯ā§‡āĻŽāĻ¨ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ¨ā§‡āĻŸ āĻ¨ā§‹āĻĄ. āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡, āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ (āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛) āĻšāĻ¯āĻŧ
āĻāĻ•āĻŸāĻŋ āĻ¨ā§‹āĻĄ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤. āĻ†āĻ¸ā§āĻ¨ āĻĻā§‡āĻ–āĻŋ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ•āĻŋāĻ›ā§ Ipv4 āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻāĻ•āĻŸāĻŋ āĻ¨ā§‹āĻĄā§‡ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

āĻ¸ā§āĻĨāĻŋāĻ° āĻļā§‚āĻ¨ā§āĻ¯
AddIpv4Stack(Ptr āĻ¨ā§‹āĻĄ)
{
Ptr ipv4 = CreateObject ();
ipv4->SetNode (āĻ¨ā§‹āĻĄ);
node->AggregateObject (ipv4);
Ptr ipv4Impl = CreateObject ();
ipv4Impl->SetIpv4 (ipv4);
node->AggregateObject (ipv4Impl);
}

āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–ā§āĻ¯ āĻ¯ā§‡ Ipv4 āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ CreateObject(). āĻ¤āĻžāĻ°āĻĒāĻ°, āĻ¤āĻžāĻ°āĻž āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ
āĻ¨ā§‹āĻĄā§‡āĻ° āĻ•āĻžāĻ›ā§‡āĨ¤ āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ¤ā§‡, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨ā§‹āĻĄ āĻŦā§‡āĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¨ā§‡āĻ‡
Ipv4 āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦā§‡āĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¨ā§‹āĻĄ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻ¸āĻš; āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻœāĻ¨ā§āĻ¯ āĻ¨ā§‹āĻĄ āĻœāĻŋāĻœā§āĻžāĻžāĻ¸āĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻ°āĻžāĻ¨āĻŸāĻžāĻ‡āĻŽā§‡ āĻāĻ° Ipv4 āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ā§‡ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ°āĨ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ¨ā§‹āĻĄāĻ•ā§‡ āĻœāĻŋāĻœā§āĻžāĻžāĻ¸āĻž āĻ•āĻ°ā§‡ āĻ¤āĻž āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ‰āĻĒāĻ§āĻžāĻ°āĻžāĨ¤

āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ āĻ¯ā§‡ āĻāĻ•āĻ‡ āĻ§āĻ°āĻŖā§‡āĻ° āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻŦāĻ¸ā§āĻ¤ā§āĻ•ā§‡ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŋāĻ‚ āĻ¤ā§āĻ°ā§āĻŸāĻŋ
an ns3::āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ. āĻ¸ā§āĻ¤āĻ°āĻžāĻ‚, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤āĻ•āĻ°āĻŖ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻžā§āĻšāĻ¯āĻŧ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ¨āĻ¯āĻŧ
āĻāĻ•āĻŸāĻŋ āĻ¨ā§‹āĻĄā§‡āĻ° āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ¸āĻ•ā§‡āĻŸāĨ¤

GetObject āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ
GetObject āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻ āĻĄāĻžāĻ‰āĻ¨āĻ•āĻžāĻ¸ā§āĻŸāĻŋāĻ‚ āĻ…āĻ°ā§āĻœāĻ¨ āĻ•āĻ°āĻžāĻ° āĻāĻŦāĻ‚ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻŸāĻžāĻ‡āĻĒ-āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻ āĻ‰āĻĒāĻžāĻ¯āĻŧ
āĻāĻ•āĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ‰āĻĒāĻ° āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤

āĻāĻ•āĻŸāĻŋ āĻ¨ā§‹āĻĄ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°ā§āĻ¨ m_node āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨ā§‹āĻĄ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ†āĻ›ā§‡
IPv4 āĻĒā§‚āĻ°ā§āĻŦā§‡ āĻāĻŸāĻŋ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤. āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻ•ā§‹āĻĄ āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻ°ā§āĻŸ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¯āĻŧāĨ¤ āĻĒā§āĻ°āĻ¤āĻŋ
āĻāĻŸāĻŋ āĻ•āĻ°āĻ¤ā§‡, āĻāĻŸāĻŋ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ¨ā§‹āĻĄā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¯āĻžāĻ° āĻ†āĻ‡āĻĒāĻŋ āĻĢāĻ°āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄāĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡
āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨. āĻāĻŸāĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡:

Ptr ipv4 = m_node->GetObject ();

āĻ¯āĻĻāĻŋ āĻ¨ā§‹āĻĄā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻŸāĻŋ Ipv4 āĻŦāĻ¸ā§āĻ¤ā§ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ¨āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻšāĻŦā§‡
āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻ¨āĻžāĻ˛āĨ¤ āĻ…āĻ¤āĻāĻŦ, āĻāĻ‡ āĻœāĻžāĻ¤ā§€āĻ¯āĻŧ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻŽāĻžāĻ¨ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻž āĻ­āĻžāĻ˛ āĻ…āĻ¨ā§āĻļā§€āĻ˛āĻ¨
āĻ•āĻ˛ āĻ¸āĻĢāĻ˛ āĻšāĻ˛ā§‡, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻāĻ–āĻ¨ Ipv4 āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡ Ptr āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡āĻ¨ āĻ¯āĻž āĻ†āĻ—ā§‡ āĻ›āĻŋāĻ˛
āĻ¨ā§‹āĻĄ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤.

āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤āĻ•āĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¤āĻžāĻ° āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻ˛ āĻŦāĻ¸ā§āĻ¤ā§āĻ¤ā§‡ āĻāĻšā§āĻ›āĻŋāĻ• āĻŽāĻĄā§‡āĻ˛ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĨ¤ āĻœāĻ¨ā§āĻ¯
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ¨ā§‹āĻĄ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡ āĻāĻŸāĻŋāĻ¤ā§‡ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ•āĻŸāĻŋ "āĻāĻ¨āĻžāĻ°ā§āĻœāĻŋ āĻŽāĻĄā§‡āĻ˛" āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ°āĻžāĻ¨ āĻŸāĻžāĻ‡āĻŽ (āĻ¨ā§‹āĻĄ āĻ•ā§āĻ˛āĻžāĻ¸ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻŦāĻ‚ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ¨āĻž āĻ•āĻ°ā§‡)āĨ¤ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻŽāĻĄā§‡āĻ˛ (āĻ¯ā§‡āĻŽāĻ¨ a
āĻŦā§‡āĻ¤āĻžāĻ° āĻ¨ā§‡āĻŸ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸) āĻĒāĻ°ā§‡ āĻļāĻ•ā§āĻ¤āĻŋ āĻŽāĻĄā§‡āĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ "GetObject" āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŦāĻ‚ āĻ¯āĻĨāĻžāĻ¯āĻĨāĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ¯āĻĻāĻŋ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸āĻŸāĻŋ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻ¨ā§‹āĻĄ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻŦāĻž āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻāĻŸāĻŋ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻ¸āĻŽāĻ¯āĻŧāĨ¤ āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ¨ā§‹āĻĄā§‡āĻ° āĻļāĻ•ā§āĻ¤āĻŋ āĻŽāĻĄā§‡āĻ˛ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ•āĻŋāĻ›ā§ āĻœāĻžāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¨ā§‡āĻ‡āĨ¤

āĻ†āĻŽāĻ°āĻž āĻ†āĻļāĻž āĻ•āĻ°āĻŋ āĻ¯ā§‡ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻāĻ‡ āĻŽā§‹āĻĄāĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻ…āĻ¨ā§‡āĻ• āĻ•āĻŽ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻŦā§‡
āĻŦā§‡āĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸āĨ¤

āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ āĻ•āĻžāĻ°āĻ–āĻžāĻ¨āĻž
āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻāĻ•āĻ‡āĻ­āĻžāĻŦā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻĒā§āĻ°āĻšā§āĻ° āĻŦāĻ¸ā§āĻ¤ā§ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻ•āĻœāĻ¨ āĻŦāĻžāĻ°āĻŦāĻžāĻ° āĻĒāĻžāĻ°ā§‡
āĻ•āĻ˛ CreateObject() āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ•āĻŸāĻŋ āĻ•āĻžāĻ°āĻ–āĻžāĻ¨āĻž āĻ¨āĻ•āĻļāĻž āĻĒā§āĻ¯āĻžāĻŸāĻžāĻ°ā§āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ ns-3 āĻĒāĻĻā§āĻ§āĻ¤āĻŋ.
āĻāĻŸāĻŋ "āĻ¸āĻšāĻžāĻ¯āĻŧāĻ•" API āĻ āĻŦā§āĻ¯āĻžāĻĒāĻ•āĻ­āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧāĨ¤

āĻļā§āĻ°ā§‡āĻŖā§€ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻĢā§āĻ¯āĻžāĻ•ā§āĻŸāĻ°āĻŋ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ‡āĻ¨āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻŸāĻŋāĻ¯āĻŧā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻāĻŦāĻ‚ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ āĻŦāĻ¸ā§āĻ¤ā§:

void SetTypeId (TypeId tid);
void āĻ¸ā§‡āĻŸ (std::string name, const AttributeValue &value);
Ptr āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ (āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°) const;

āĻĒā§āĻ°āĻĨāĻŽ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧ ns-3 āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ§āĻ°āĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ TypeId āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ
āĻ¤ā§ˆāĻ°āĻŋ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧāĻŸāĻŋ āĻāĻ•āĻŸāĻŋāĻ•ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻŦāĻ¸ā§āĻ¤ā§āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧ āĻāĻŦāĻ‚
āĻ¤ā§ƒāĻ¤ā§€āĻ¯āĻŧāĻŸāĻŋ āĻ•āĻžāĻ‰āĻ•ā§‡ āĻ¨āĻŋāĻœā§‡āĻ°āĻžāĻ‡ āĻŦāĻ¸ā§āĻ¤ā§ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤

āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ:

āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻĢā§āĻ¯āĻžāĻ•ā§āĻŸāĻ°āĻŋ āĻ•āĻžāĻ°āĻ–āĻžāĻ¨āĻž;
// āĻāĻ‡ āĻĢā§āĻ¯āĻžāĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ FriisPropagationLossModel āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨
factory.SetTypeId ("ns3::FriisPropagationLossModel")
// āĻāĻ‡ āĻĢā§āĻ¯āĻžāĻ•ā§āĻŸāĻ°āĻŋ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸāĻŸāĻŋāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŽāĻžāĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§āĻ¨, āĻāĻ° āĻœāĻ¨ā§āĻ¯
// āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€āĻ¤ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻŦāĻ¸ā§āĻ¤ā§
factory.Set ("SystemLoss", DoubleValue (2.0));
// āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨
Ptr object = factory.Create ();
factory.Set ("SystemLoss", DoubleValue (3.0));
// āĻāĻ•āĻŸāĻŋ āĻ­āĻŋāĻ¨ā§āĻ¨ SystemLoss āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ…āĻ¨ā§āĻ¯ āĻŦāĻ¸ā§āĻ¤ā§ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨
Ptr object = factory.Create ();

āĻĄāĻžāĻ‰āĻ¨āĻ•āĻžāĻ¸ā§āĻŸāĻŋāĻ‚
āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻļā§āĻ¨ āĻ¯āĻž āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŦāĻžāĻ° āĻ‰āĻ ā§‡āĻ›ā§‡, "āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻžāĻ° āĻ•āĻžāĻ›ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦā§‡āĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° (Ptr) āĻĨāĻžāĻ•ā§‡
āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻāĻŦāĻ‚ āĻ†āĻŽāĻŋ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻ•ā§āĻ˛āĻžāĻ¸ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻšāĻžāĻ‡, āĻ†āĻŽāĻŋ āĻ•āĻŋ āĻĄāĻžāĻ‰āĻ¨āĻ•āĻžāĻ¸ā§āĻŸ āĻ•āĻ°āĻŦ (C++ āĻĄāĻžāĻ‡āĻ¨āĻžāĻŽāĻŋāĻ• āĻ•āĻžāĻ¸ā§āĻŸā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡)
āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻĒāĻžāĻ¨, āĻ…āĻĨāĻŦāĻž āĻ†āĻŽāĻŋ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻļāĻ¨ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦ GetObject<> ()
āĻ¸āĻžāĻŦāĻ•ā§āĻ˛āĻžāĻ¸ API āĻāĻ° āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ā§‡ āĻāĻ•āĻŸāĻŋ Ptr āĻ–ā§āĻāĻœā§‡ āĻĒā§‡āĻ¤ā§‡?

āĻāĻ° āĻ‰āĻ¤ā§āĻ¤āĻ° āĻšāĻ˛ āĻ…āĻ¨ā§‡āĻ• āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§‡ āĻ‰āĻ­āĻ¯āĻŧ āĻ•ā§ŒāĻļāĻ˛āĻ‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻŦā§‡āĨ¤ ns-3 āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡
āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻĄāĻžāĻ‡āĻ¨āĻžāĻŽāĻŋāĻ• āĻ•āĻžāĻ¸ā§āĻŸāĻŋāĻ‚ āĻāĻ° āĻ¸āĻŋāĻ¨āĻŸā§āĻ¯āĻžāĻ•ā§āĻ¸ āĻ¤ā§ˆāĻ°āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸā§‡āĻĄ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ…āĻ¨ā§‡āĻ• āĻŦā§‡āĻļāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€
āĻŦāĻ¨ā§āĻ§ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ:

āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ
Ptr
DynamicCast (Ptr const&p)
{
Ptr āĻĢāĻŋāĻ°ā§‡ (āĻ—āĻ¤āĻŋāĻļā§€āĻ˛_āĻ•āĻžāĻ¸ā§āĻŸ (āĻĒāĻŋāĻ•āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° (āĻĒāĻŋ)));
}

DynamicCast āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ¯āĻ–āĻ¨ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻžāĻ°ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻŦā§‡āĻ¸ āĻŸāĻžāĻ‡āĻĒ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻĨāĻžāĻ•ā§‡ āĻāĻŦāĻ‚ a āĻāĻ° āĻŦāĻŋāĻ°ā§āĻĻā§āĻ§ā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡
āĻ¸āĻžāĻŦāĻ•ā§āĻ˛āĻžāĻ¸ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ°āĨ¤ GetObject āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ¯āĻ–āĻ¨ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ¸āĻŽāĻˇā§āĻŸāĻŋāĻ° āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻ•āĻ°ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“
āĻĄāĻžāĻ‡āĻ¨āĻžāĻŽāĻŋāĻ•āĻ•āĻžāĻ¸ā§āĻŸā§‡āĻ° āĻŽāĻ¤ā§‹ āĻāĻ•āĻ‡āĻ­āĻžāĻŦā§‡ āĻ¸āĻžāĻŦāĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĨ¤ āĻ…āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻšāĻ˛ā§‡, āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻžāĻ° āĻ‰āĻšāĻŋāĻ¤
GetObject āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨, āĻ•āĻžāĻ°āĻŖ āĻāĻŸāĻŋ āĻ¸āĻŦ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĨ¤ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻžāĻ° āĻ¯āĻĻāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻļā§āĻ°ā§‡āĻŖāĻŋāĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻœāĻžāĻ¨ā§‡āĻ¨
āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻžāĻ§ā§€āĻ¨ āĻŦāĻ¸ā§āĻ¤ā§, āĻāĻŸāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° DynamicCast āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ†āĻ°āĻ“ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋāĨ¤

āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻāĻŦāĻ‚ āĻ†āĻ°ā§‹āĻĒ āĻ•āĻ°āĻž
In ns-3 āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨, āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻĻā§āĻŸāĻŋ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻĻāĻŋāĻ• āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:

¡ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻŸāĻĒā§‹āĻ˛āĻœāĻŋ āĻāĻŦāĻ‚ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻŦāĻ¸ā§āĻ¤ā§ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

¡ āĻŸāĻĒā§‹āĻ˛āĻœāĻŋāĻ¤ā§‡ āĻ¤āĻžāĻ¤ā§āĻ•ā§āĻˇāĻŖāĻŋāĻ• āĻŽāĻĄā§‡āĻ˛ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻŽāĻžāĻ¨āĨ¤

āĻāĻ‡ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧāĻŸāĻŋ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻ†āĻ‡āĻŸā§‡āĻŽā§‡āĻ° āĻ‰āĻĒāĻ° āĻĢā§‹āĻ•āĻžāĻ¸ āĻ•āĻ°ā§‡: āĻ•āĻ¤āĻ—ā§āĻ˛āĻŋ āĻŽāĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ ns-3 āĻšāĻ¯āĻŧ
āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻ‚āĻ—āĻ āĻŋāĻ¤, āĻ¨āĻĨāĻŋāĻ­ā§āĻ•ā§āĻ¤, āĻāĻŦāĻ‚ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ¯ā§‹āĻ—ā§āĻ¯ ns-3 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻĻā§āĻ¯ ns-3 āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻŸā§āĻ°ā§‡āĻ¸ āĻāĻŦāĻ‚ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¤āĻžāĻ° āĻ†āĻ¨ā§āĻĄāĻžāĻ°āĻĒāĻŋāĻ¨āĻŋāĻ‚āĨ¤

āĻāĻ‡ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧā§‡āĻ° āĻ•ā§‹āĻ°ā§āĻ¸ā§‡ āĻ†āĻŽāĻ°āĻž āĻŽāĻžāĻ¨ āĻ¸ā§‡āĻŸ āĻŦāĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻžāĻ° āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻŦ
āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ ns-3 āĻŽāĻĄā§‡āĻ˛ āĻŦāĻ¸ā§āĻ¤ā§āĨ¤ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸāĻ¤āĻžāĻ° āĻ•ā§āĻ°āĻŽāĻŦāĻ°ā§āĻ§āĻŽāĻžāĻ¨ āĻ•ā§āĻ°āĻŽā§‡, āĻāĻ—ā§āĻ˛āĻŋ āĻšāĻ˛:

┌─────────────────────────────────â”Ŧ─────────────── ───────────────────┐
│āĻĒāĻĻā§āĻ§āĻ¤āĻŋ │ āĻ¸ā§āĻ¯ā§‹āĻ— │
├─────────────────────────────────â”ŧ─────────────── ───────────────────┤
│āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻŽāĻžāĻ¨ āĻ¸ā§‡āĻŸ │ │ āĻāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĻā§ƒāĻˇā§āĻŸāĻžāĻ¨ā§āĻ¤āĻ•ā§‡ āĻĒā§āĻ°āĻ­āĻžāĻŦāĻŋāĻ¤ āĻ•āĻ°ā§‡
│ āĻ¯āĻ–āĻ¨ āĻ—ā§āĻŖāĻžāĻŦāĻ˛ā§€ │ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ │
│GetTypeId (). │ │
└─────────────────────────────────┴─────────────── ───────────────────┘

│āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ‡āĻ¨ │ āĻ­āĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§‡āĻ° āĻ¸āĻŦ āĻ˜āĻŸāĻ¨āĻžāĻ•ā§‡ āĻĒā§āĻ°āĻ­āĻžāĻŦāĻŋāĻ¤ āĻ•āĻ°ā§‡āĨ¤ │
│āĻ•āĻ¨āĻĢāĻŋāĻ—::āĻ¸ā§‡āĻŸāĻĄāĻŋāĻĢāĻ˛ā§āĻŸ() │ │
│āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°āĻ¸ā§āĻŸā§‹āĻ° │ │
├─────────────────────────────────â”ŧ─────────────── ───────────────────┤
│āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻĢā§āĻ¯āĻžāĻ•ā§āĻŸāĻ°āĻŋ │ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĻā§ƒāĻˇā§āĻŸāĻžāĻ¨ā§āĻ¤āĻ•ā§‡ āĻĒā§āĻ°āĻ­āĻžāĻŦāĻŋāĻ¤ āĻ•āĻ°ā§‡ │ā§ˇ
│ │ āĻ•āĻžāĻ°āĻ–āĻžāĻ¨āĻžāĻ° āĻ¸āĻžāĻĨā§‡āĨ¤ │
├─────────────────────────────────â”ŧ─────────────── ───────────────────┤
│XHelperSetAttribute () │ │ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĻā§ƒāĻˇā§āĻŸāĻžāĻ¨ā§āĻ¤āĻ•ā§‡ āĻĒā§āĻ°āĻ­āĻžāĻŦāĻŋāĻ¤ āĻ•āĻ°ā§‡ā§ˇ
│ │ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€āĨ¤ │
├─────────────────────────────────â”ŧ─────────────── ───────────────────┤
│āĻŽāĻžāĻ‡āĻ•ā§āĻ˛āĻžāĻ¸::āĻ¸ā§‡āĻŸāĻāĻ•ā§āĻ¸ () │ āĻāĻ‡ āĻŦāĻŋāĻļā§‡āĻˇ āĻĻā§ƒāĻˇā§āĻŸāĻžāĻ¨ā§āĻ¤ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡āĨ¤ │
│āĻŦāĻ¸ā§āĻ¤ā§::SetAttribute () │ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻŸāĻŋāĻ‡ āĻāĻ•āĻŽāĻžāĻ¤ā§āĻ° āĻĢāĻ°ā§āĻŽ │ā§ˇ
│āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°::āĻ¸ā§‡āĻŸ() │ āĻ¯āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ │ā§ˇ
│ │ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻ•āĻŦāĻžāĻ° āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ │
│ │ āĻšāĻ˛āĻ›ā§‡āĨ¤ │
└─────────────────────────────────┴─────────────── ───────────────────┘

"āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸāĻ¤āĻž" āĻĻā§āĻŦāĻžāĻ°āĻž āĻ†āĻŽāĻ°āĻž āĻŦā§‹āĻāĻžāĻ¤ā§‡ āĻšāĻžāĻ‡ āĻ¯ā§‡ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡āĻ° āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ¸āĻžāĻ°āĻŋāĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻ¸ā§‡āĻŸ āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ“āĻ­āĻžāĻ°āĻ°āĻžāĻ‡āĻĄ āĻ•āĻ°ā§‡
āĻĻā§āĻŦāĻžāĻ°āĻž, āĻāĻŦāĻ‚ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻĒā§‚āĻ°ā§āĻŦā§‡āĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋāĻ° āĻ¤ā§āĻ˛āĻ¨āĻžāĻ¯āĻŧ āĻ•āĻŽ āĻĻā§ƒāĻˇā§āĻŸāĻžāĻ¨ā§āĻ¤āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻĒā§āĻ°āĻ­āĻžāĻŦāĻŋāĻ¤ āĻ•āĻ°ā§‡āĨ¤

āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻ­ā§āĻ¯āĻžāĻ˛ā§ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻœāĻžāĻ¨āĻžāĻ° āĻ†āĻ—ā§‡, āĻāĻŸāĻŋ āĻ•āĻŋāĻ›ā§ āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°āĻŦā§‡
āĻļā§āĻ°ā§‡āĻŖā§€āĻ° āĻŽā§ŒāĻ˛āĻŋāĻ• āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯.

āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻŦāĻŋāĻŦāĻ°āĻŖ
ns-3 āĻŽā§‚āĻ˛āĻ¤ āĻāĻ•āĻŸāĻŋ C++ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ-āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ• āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĨ¤ āĻāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ†āĻŽāĻ°āĻž āĻ¨āĻ¤ā§āĻ¨ C++ āĻ•ā§āĻ˛āĻžāĻ¸ āĻŦāĻ˛āĻ¤ā§‡ āĻšāĻžāĻšā§āĻ›āĻŋ
(āĻĒā§āĻ°āĻ•āĻžāĻ°) āĻ¯āĻĨāĻžāĻ°ā§€āĻ¤āĻŋ āĻ˜ā§‹āĻˇāĻŋāĻ¤, āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻŦāĻ‚ āĻ‰āĻĒāĻļā§āĻ°ā§‡āĻŖā§€āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ…āĻ¨ā§‡āĻ• ns-3 āĻŦāĻ¸ā§āĻ¤ā§ āĻĨā§‡āĻ•ā§‡ āĻ‰āĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ°āĻ¸ā§‚āĻ¤ā§āĻ°ā§‡ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧ āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ āĻŦā§‡āĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸āĨ¤ āĻāĻ‡ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ•āĻŋāĻ›ā§ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ†āĻ›ā§‡
āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋ āĻ¯āĻž āĻ†āĻŽāĻ°āĻž āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻ•ā§‡ āĻ¸āĻ‚āĻ—āĻ āĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŦāĻ‚ āĻŽā§‡āĻŽāĻ°āĻŋ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻžāĻ° āĻ‰āĻ¨ā§āĻ¨āĻ¤āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋ
āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŦāĻ¸ā§āĻ¤ā§āĻ°:

¡ "āĻŽā§‡āĻŸāĻžāĻĄā§‡āĻŸāĻž" āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ¯āĻž āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻ¨āĻžāĻŽāĻŸāĻŋāĻ•ā§‡ āĻ…āĻ¨ā§‡āĻ• āĻŽā§‡āĻŸāĻž-āĻ¤āĻĨā§āĻ¯ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ˛āĻŋāĻ™ā§āĻ• āĻ•āĻ°ā§‡
āĻŦāĻ¸ā§āĻ¤ā§, āĻ¸āĻš:

āĻ¸āĻžāĻŦāĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻŦā§‡āĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸,

āĻ¸āĻžāĻŦāĻ•ā§āĻ˛āĻžāĻ¸ā§‡ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸āĻ¯ā§‹āĻ—ā§āĻ¯ āĻ•āĻ¨āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•ā§āĻŸāĻ°āĻĻā§‡āĻ° āĻ¸ā§‡āĻŸ,

āĻ¸āĻžāĻŦāĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° "āĻ—ā§āĻŖāĻžāĻŦāĻ˛ā§€" āĻāĻ° āĻ¸ā§‡āĻŸ,

¡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ¨āĻžāĻ•āĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒāĻ āĻ¨āĻ¯ā§‹āĻ—ā§āĻ¯,

¡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻ…āĻ¨ā§āĻŽā§‹āĻĻāĻŋāĻ¤ āĻĒāĻ°āĻŋāĻ¸āĻ°āĨ¤

¡ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ—āĻŖāĻ¨āĻž āĻ¸ā§āĻŽāĻžāĻ°ā§āĻŸ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨, āĻŽā§‡āĻŽāĻ°āĻŋ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯āĨ¤

ns-3 āĻ¯ā§‡ āĻŦāĻ¸ā§āĻ¤ā§āĻ—ā§āĻ˛āĻŋ āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ¯ā§‡āĻ•ā§‹āĻ¨ āĻāĻ•āĻŸāĻŋ āĻĨā§‡āĻ•ā§‡ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧ āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ or āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸāĻŦā§‡āĻ¸āĨ¤ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡
ns-3 āĻ†āĻŽāĻ°āĻž āĻ¯ā§‡ āĻŦāĻ¸ā§āĻ¤ā§āĻ—ā§āĻ˛āĻŋ āĻĨā§‡āĻ•ā§‡ āĻ‰āĻĻā§āĻ­ā§‚āĻ¤ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻŦ āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¸ā§āĻŽāĻžāĻ°ā§āĻŸ āĻŦāĻžāĻ‡āĻ°ā§‡ āĻ¯ā§‡ āĻ•āĻ¯āĻŧā§‡āĻ•
āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻŽā§‡āĻŽāĻ°āĻŋ āĻŽā§āĻ¯āĻžāĻ¨ā§‡āĻœāĻŽā§‡āĻ¨ā§āĻŸ āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸāĻŦā§‡āĻ¸.

āĻ†āĻ¸ā§āĻ¨ āĻāĻ‡ āĻŦāĻ¸ā§āĻ¤ā§āĻ—ā§āĻ˛āĻŋāĻ° āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻŋāĨ¤

āĻ¸ā§āĻŽāĻžāĻ°ā§āĻŸ Pointers
āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ ns-3 āĻŸāĻŋāĻ‰āĻŸā§‹āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛, ns-3 āĻŦāĻ¸ā§āĻ¤ā§ āĻāĻ•āĻŸāĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻŋāĻ¤ āĻŽā§‡āĻŽāĻ°āĻŋ āĻšāĻ¯āĻŧ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–
āĻ—āĻŖāĻ¨āĻžāĻ•āĻžāĻ°ā§€ āĻ¸ā§āĻŽāĻžāĻ°ā§āĻŸ āĻ‡āĻļāĻžāĻ°āĻž āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨, āĻ•ā§āĻ˛āĻžāĻ¸ ptr.

āĻ¸ā§āĻŽāĻžāĻ°ā§āĻŸ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻŦā§āĻ¯āĻžāĻĒāĻ•āĻ­āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧ ns-3 āĻāĻĒāĻŋāĻ†āĻ‡, āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻĒāĻžāĻ¸ āĻāĻĄāĻŧāĻžāĻ¤ā§‡
āĻ¸ā§āĻ¤ā§‚āĻĒ-āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻŦāĻ¸ā§āĻ¤ā§ āĻ¯āĻž āĻŽā§‡āĻŽāĻ°āĻŋ āĻ˛āĻŋāĻ• āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻŽā§ŒāĻ˛āĻŋāĻ• āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ (āĻ¸āĻŋāĻ¨āĻŸā§āĻ¯āĻžāĻ•ā§āĻ¸), āĻšāĻŋāĻ•āĻŋāĻ¤ā§āĻ¸āĻž
āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻŽāĻ¤ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŽāĻžāĻ°ā§āĻŸ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ°:

Ptr nd = ...;
nd->CallSomeFunction ();
// āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋ

āĻ¸ā§āĻ¤āĻ°āĻžāĻ‚ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŽāĻžāĻ°ā§āĻŸ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻĒā§‡āĻ¤ā§‡, āĻāĻ‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻ˛āĻžāĻ‡āĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§‡?

āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨
āĻ¯ā§‡āĻŽāĻ¨āĻŸāĻŋ āĻ†āĻŽāĻ°āĻž āĻ‰āĻĒāĻ°ā§‡ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°ā§‡āĻ›āĻŋ āĻŽā§‡āĻŽāĻ°āĻŋ-āĻŽā§āĻ¯āĻžāĻ¨ā§‡āĻœāĻŽā§‡āĻ¨ā§āĻŸ-āĻāĻŦāĻ‚ āĻ•ā§āĻ˛āĻžāĻ¸-āĻĒāĻŋāĻŸāĻŋāĻ†āĻ°-āĻ, āĻ¸āĻ°ā§āĻŦāĻ¨āĻŋāĻŽā§āĻ¨-āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° API-āĻ, āĻŦāĻ¸ā§āĻ¤ā§
āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¤āĻžā§ŽāĻ•ā§āĻˇāĻŖāĻŋāĻ• āĻšāĻ¯āĻŧ āĻ¨āĻž āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻ¯āĻĨāĻžāĻ°ā§€āĻ¤āĻŋ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸā§‡āĻĄ
āĻĢāĻžāĻ‚āĻļāĻ¨ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ ().

āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§‚āĻĒ:

Ptr nd = CreateObject ();

āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻŋāĻ•ā§‡ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°ā§€āĻ­āĻžāĻŦā§‡ āĻ¸āĻŽāĻ¤ā§āĻ˛ā§āĻ¯ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ­āĻžāĻŦāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨:

WifiNetDevice*nd = āĻ¨āĻ¤ā§āĻ¨ WifiNetDevice ();

āĻ¯ā§‡ āĻŦāĻ¸ā§āĻ¤ā§ āĻĨā§‡āĻ•ā§‡ āĻ‰āĻĻā§āĻ­ā§‚āĻ¤ āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ—āĻžāĻĻāĻž āĻ‰āĻĒāĻ° āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°āĻž āĻ†āĻŦāĻļā§āĻ¯āĻ• āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ ()āĨ¤ āĻ¸ā§‡āĻ—ā§āĻ˛ā§‹
āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸāĻŦā§‡āĻ¸, āĻ¯ā§‡āĻŽāĻ¨ ns-3 āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ° āĻĢāĻžāĻ‚āĻļāĻ¨ āĻāĻŦāĻ‚ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻšā§‡āĻĄāĻžāĻ° āĻāĻŦāĻ‚ āĻŸā§āĻ°ā§‡āĻ˛āĻžāĻ°,
āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ•ā§‡āĻ° āĻ‰āĻĒāĻ° āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ•āĻŋāĻ›ā§ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻ…āĻ¨ā§‡āĻ• āĻ•āĻŋāĻ›ā§ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻŦā§‡āĻ¨ āĻ¨āĻž āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ () āĻ•ā§‹āĻĄ āĻ•āĻ˛; āĻāĻ‡
āĻ•āĻžāĻ°āĻŖ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻŋāĻ›ā§ āĻ¸āĻšāĻžāĻ¯āĻŧāĻ• āĻŦāĻ¸ā§āĻ¤ā§ āĻ†āĻ›ā§‡ āĻ¯āĻž āĻ•āĻ°āĻ›ā§‡ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ () āĻ•āĻ˛
āĻ¤ā§‹āĻŽāĻžāĻ° āĻœāĻ¨ā§āĻ¯.

āĻŸāĻžāĻ‡āĻĒāĻ†āĻ‡āĻĄāĻŋ
ns-3 āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¯ā§‡ āĻ•ā§āĻ˛āĻžāĻ¸ āĻĨā§‡āĻ•ā§‡ āĻ‰āĻĻā§āĻ­ā§‚āĻ¤ āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ āĻ¨āĻžāĻŽāĻ• āĻāĻ•āĻŸāĻŋ āĻŽā§‡āĻŸāĻžāĻĄā§‡āĻŸāĻž āĻ•ā§āĻ˛āĻžāĻ¸ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻŸāĻžāĻ‡āĻĒāĻ†āĻ‡āĻĄāĻŋ āĻ¯ā§‡
āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ…ā§āĻ¯āĻžāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻļāĻ¨ āĻāĻŦāĻ‚ āĻ•āĻŽā§āĻĒā§‹āĻ¨ā§‡āĻ¨ā§āĻŸā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻŽā§‡āĻŸāĻž-āĻ¤āĻĨā§āĻ¯ āĻ°ā§‡āĻ•āĻ°ā§āĻĄ āĻ•āĻ°ā§‡
āĻŽā§āĻ¯āĻžāĻ¨ā§‡āĻœāĻžāĻ° āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ:

¡ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¸āĻ¨āĻžāĻ•ā§āĻ¤āĻ•āĻžāĻ°ā§€ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨āĻ¨ā§āĻ¯ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚āĨ¤

āĻŽā§‡āĻŸāĻžāĻĄā§‡āĻŸāĻž āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸āĻžāĻŦāĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻŦā§‡āĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸āĨ¤

āĻ¸āĻžāĻŦāĻ•ā§āĻ˛āĻžāĻ¸ā§‡ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸āĻ¯ā§‹āĻ—ā§āĻ¯ āĻ•āĻ¨āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•ā§āĻŸāĻ°ā§‡āĻ° āĻ¸ā§‡āĻŸāĨ¤

¡ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻ¸āĻ°ā§āĻŦāĻœāĻ¨ā§€āĻ¨āĻ­āĻžāĻŦā§‡ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸āĻ¯ā§‹āĻ—ā§āĻ¯ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž ("āĻ—ā§āĻŖāĻžāĻŦāĻ˛ā§€")āĨ¤

āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ āĻ¸āĻžāĻ°āĻžāĻ‚āĻļ
āĻāĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ§āĻžāĻ°āĻŖāĻžāĻ—ā§āĻ˛āĻŋ āĻāĻ•āĻ¸āĻžāĻĨā§‡ āĻ°ā§‡āĻ–ā§‡, āĻ†āĻ¸ā§āĻ¨ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĻā§‡āĻ–āĻŋ: āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¨ā§‹āĻĄ.

āĻĒāĻžāĻŦāĻ˛āĻŋāĻ• āĻšā§‡āĻĄāĻžāĻ° āĻĢāĻžāĻ‡āĻ˛ node.h āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻāĻ•āĻŸāĻŋ āĻ˜ā§‹āĻˇāĻŖāĻž āĻ†āĻ›ā§‡ GetTypeId ()
āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ•āĻ˛:

āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¨ā§‹āĻĄ: āĻĒāĻžāĻŦāĻ˛āĻŋāĻ• āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ
{
āĻĒā§āĻ°āĻ•āĻžāĻļā§āĻ¯:
āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻŸāĻžāĻ‡āĻĒāĻ†āĻ‡āĻĄāĻŋ GetTypeId (āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°);
...

āĻāĻ‡ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ node.cc āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§‚āĻĒ āĻĢāĻžāĻ‡āĻ˛:

āĻŸāĻžāĻ‡āĻĒāĻ†āĻ‡āĻĄāĻŋ
āĻ¨ā§‹āĻĄ::GetTypeId (āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°)
{
āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• TypeId tid = TypeId ("ns3::Node")
.SetParent ()
.AddConstructor ()
.AddAttribute ("āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸āĻ˛āĻŋāĻ¸ā§āĻŸ",
"āĻāĻ‡ āĻ¨ā§‹āĻĄā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡āĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĨ¤",
āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸāĻ­ā§‡āĻ•ā§āĻŸāĻ° āĻ­ā§āĻ¯āĻžāĻ˛ā§ (),
MakeObjectVectorAccessor (&Node::m_devices),
MakeObjectVectorChecker ())
.AddAttribute ("āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ˛āĻŋāĻ¸ā§āĻŸ",
"āĻāĻ‡ āĻ¨ā§‹āĻĄā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ā§‡āĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĨ¤",
āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸāĻ­ā§‡āĻ•ā§āĻŸāĻ° āĻ­ā§āĻ¯āĻžāĻ˛ā§ (),
MakeObjectVectorAccessor (&Node::m_applications),
MakeObjectVectorChecker ())
.AddAttribute ("Id",
"āĻāĻ‡ āĻ¨ā§‹āĻĄā§‡āĻ° āĻ†āĻ‡āĻĄāĻŋ (āĻ…āĻ¨āĻ¨ā§āĻ¯ āĻĒā§‚āĻ°ā§āĻŖāĻ¸āĻ‚āĻ–ā§āĻ¯āĻž)āĨ¤",
TypeId::ATTR_GET, // āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻŸāĻŋ āĻĒāĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻāĻŋāĻ¨āĨ¤
UintegerValue (0),
MakeUintegerAccessor (&Node::m_id),
MakeUintegerChecker ())
;
āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ tid;
}

āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°ā§āĻ¨ āĻŸāĻžāĻ‡āĻĒāĻ†āĻ‡āĻĄāĻŋ āĻāĻ° ns-3 āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ āĻ°āĻžāĻ¨ āĻŸāĻžāĻ‡āĻĒ āĻŸāĻžāĻ‡āĻĒā§‡āĻ° āĻŦāĻ°ā§āĻ§āĻŋāĻ¤ āĻĢāĻ°ā§āĻŽ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ•ā§āĻ˛āĻžāĻ¸
āĻ¤āĻĨā§āĻ¯ (RTTI)āĨ¤ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ C++ āĻ­āĻžāĻˇāĻžāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ§āĻ°āĻ¨ā§‡āĻ° RTTI āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡
āĻ—āĻ¤āĻŋāĻļā§€āĻ˛_āĻ•āĻžāĻ¸ā§āĻŸ āĻāĻŦāĻ‚ typeid āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°āĨ¤

āĻ¸āĻžāĻ°ā§āĻœāĻžāĻ°āĻŋāĻ° āĻ¸ā§‡āĻŸ āĻĒā§āĻ¯āĻžāĻ°ā§‡āĻ¨ā§āĻŸ () āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧ āĻ•āĻ˛ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻ¯ā§‹āĻ—ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧ
āĻ‰āĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ° āĻ—āĻžāĻ›ā§‡ āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻ āĻ†āĻĒ āĻāĻŦāĻ‚ āĻĄāĻžāĻ‰āĻ¨-āĻ•āĻžāĻ¸ā§āĻŸāĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ…ā§āĻ¯āĻžāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻļāĻ¨ āĻŽā§‡āĻ•āĻžāĻ¨āĻŋāĻœāĻŽ
āĻ¸āĻŽāĻ¯āĻŧ GetObject (). āĻāĻŸāĻŋ āĻ¸āĻžāĻŦāĻ•ā§āĻ˛āĻžāĻ¸āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻĒāĻŋāĻ¤āĻžāĻŽāĻžāĻ¤āĻžāĻ° āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋ āĻ‰āĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ°ā§€ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§‡
āĻŦāĻ°ā§āĻ—.

āĻ¸āĻžāĻ°ā§āĻœāĻžāĻ°āĻŋāĻ° āĻ…ā§āĻ¯āĻžāĻĄāĻ•āĻ¨āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•ā§āĻŸāĻ° () āĻ•āĻ˛ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŦāĻŋāĻŽā§‚āĻ°ā§āĻ¤ āĻŦāĻ¸ā§āĻ¤ā§ āĻ•āĻžāĻ°āĻ–āĻžāĻ¨āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻ¯ā§‹āĻ—ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧ
āĻ•ā§‹āĻ¨ā§‹ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ•ā§‡ āĻœāĻžāĻ¨āĻ¤ā§‡ āĻŦāĻžāĻ§ā§āĻ¯ āĻ¨āĻž āĻ•āĻ°ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ°āĻ•ā§‡ C++ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž
āĻ¤āĻŋāĻ¨āĻŋ āĻ¯ā§‡ āĻŦāĻ¸ā§āĻ¤ā§āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻ•āĻ°āĻ›ā§‡āĻ¨ āĻ¤āĻžāĻ° āĻ•āĻ‚āĻ•ā§āĻ°āĻŋāĻŸ āĻ•ā§āĻ˛āĻžāĻ¸āĨ¤

āĻ¤āĻŋāĻ¨āĻœāĻ¨āĻ•ā§‡ āĻĄāĻžāĻ•ā§‡ āĻ—ā§āĻ¨āĻ—āĻ¤ āĻŽāĻžāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž () āĻāĻ•āĻŸāĻŋ āĻĻā§ƒāĻĸāĻŧāĻ­āĻžāĻŦā§‡ āĻŸāĻžāĻ‡āĻĒ āĻ•āĻ°āĻž āĻŽāĻžāĻ¨ āĻ¸āĻ™ā§āĻ—ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§āĻ¨
āĻļā§āĻ°ā§‡āĻŖā§€. āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¯āĻž āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ,
āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻ‡āĻ¨ āĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻ°āĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ—ā§āĻŖ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻžāĻ° āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§āĻ•ā§āĻ¤
āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻ¸āĻĻāĻ¸ā§āĻ¯ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛ (āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, MakeUintegerAccessor () āĻŦāĻ˛ā§‡
āĻœā§‡āĻ¨ā§‡āĻ°āĻŋāĻ• āĻ—ā§āĻŖ āĻ•ā§‹āĻĄ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ‰āĻĒāĻ°ā§‡ āĻ¨ā§‹āĻĄ āĻ†āĻ‡āĻĄāĻŋ āĻĒā§‡āĻ¤ā§‡ āĻšāĻ¯āĻŧ)āĨ¤ āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ "āĻšā§‡āĻ•āĻžāĻ°" āĻ†āĻ›ā§‡
āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¯āĻž āĻĒāĻ°āĻŋāĻ¸ā§€āĻŽāĻž āĻ¸ā§€āĻŽāĻžāĻŦāĻĻā§āĻ§āĻ¤āĻžāĻ° āĻŦāĻŋāĻ°ā§āĻĻā§āĻ§ā§‡ āĻŽāĻžāĻ¨ āĻ¯āĻžāĻšāĻžāĻ‡ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧ, āĻ¯ā§‡āĻŽāĻ¨ āĻ¸āĻ°ā§āĻŦāĻžāĻ§āĻŋāĻ• āĻāĻŦāĻ‚
āĻ¨ā§āĻ¯ā§‚āĻ¨āĻ¤āĻŽ āĻ…āĻ¨ā§āĻŽā§‹āĻĻāĻŋāĻ¤ āĻŽāĻžāĻ¨āĨ¤

āĻ¯āĻ–āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻ¨ā§‹āĻĄ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¯āĻŧ, āĻ¤āĻ–āĻ¨ āĻ¤āĻžāĻ°āĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ•āĻŋāĻ›ā§ āĻĢāĻ°ā§āĻŽ āĻ•āĻ˛ āĻ•āĻ°āĻŦā§‡ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ (),:

Ptr n = CreateObject ();

āĻŦāĻž āĻ†āĻ°āĻ“ āĻŦāĻŋāĻŽā§‚āĻ°ā§āĻ¤āĻ­āĻžāĻŦā§‡, āĻāĻ•āĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ•āĻžāĻ°āĻ–āĻžāĻ¨āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ¨ā§‹āĻĄ āĻŦāĻŋāĻ¨āĻž āĻŦāĻ¸ā§āĻ¤ā§
āĻ•āĻ‚āĻ•ā§āĻ°āĻŋāĻŸ C++ āĻĒā§āĻ°āĻ•āĻžāĻ° āĻœāĻžāĻ¨āĻž:

āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻĢā§āĻ¯āĻžāĻ•ā§āĻŸāĻ°āĻŋ āĻ•āĻžāĻ°āĻ–āĻžāĻ¨āĻž;
const std::string typeId = "ns3::Node'';
factory.SetTypeId (āĻŸāĻžāĻ‡āĻĒāĻ†āĻ‡āĻĄāĻŋ);
Ptr node = factory.Create ();

āĻāĻ‡ āĻ‰āĻ­āĻ¯āĻŧ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻĢāĻ˛ā§‡ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻĒā§āĻ°āĻžāĻ°āĻŽā§āĻ­āĻŋāĻ• āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧ
āĻĢāĻ˛ā§‡ āĻāĻŦāĻ‚ āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒāĨ¤

āĻ†āĻŽāĻ°āĻž āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€āĻ¤ā§‡ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻŦ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋ (āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ¸āĻĻāĻ¸ā§āĻ¯ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻŦāĻž āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§āĻ•ā§āĻ¤
āĻ•ā§āĻ˛āĻžāĻ¸) āĻ‰āĻĒāĻ°ā§‹āĻ•ā§āĻ¤ āĻŽāĻ§ā§āĻ¯ā§‡ plumbed āĻšāĻ¯āĻŧ āĻŸāĻžāĻ‡āĻĒāĻ†āĻ‡āĻĄāĻŋ.

āĻ†āĻ°ā§‹āĻĒ āĻ•āĻ°āĻž
āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻšāĻ˛ a āĻāĻ° āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻ¸āĻĻāĻ¸ā§āĻ¯ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ¸āĻ‚āĻ—āĻ āĻŋāĻ¤ āĻ•āĻ°āĻž
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻāĻ‡ āĻ˛āĻ•ā§āĻˇā§āĻ¯āĻŸāĻŋ āĻ‰āĻĻā§āĻ­ā§‚āĻ¤ āĻšāĻ¯āĻŧ āĻ•āĻžāĻ°āĻŖ, āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ā§‡, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻ•āĻžāĻŸāĻŦā§‡ āĻāĻŦāĻ‚
āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻ—ā§āĻ˛āĻŋ āĻ†āĻŸāĻ•āĻžāĻ¨/āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§āĻ¨, āĻ…āĻĨāĻŦāĻž āĻ‰āĻšā§āĻš-āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦā§‡āĻ¨,
āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻ‡ āĻ…āĻ§ā§āĻ¯āĻ¯āĻŧāĻ¨ āĻŦāĻž āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ†āĻ—ā§āĻ°āĻšā§€ āĻšāĻŦā§‡. āĻœāĻ¨ā§āĻ¯
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡āĻŽāĻ¨:

¡ "I āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻšāĻŋāĻšā§āĻ¨ āĻĻā§āĻ¯ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ on āĻĻā§āĻ¯ āĻŦā§‡āĻ¤āĻžāĻ° āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻ•ā§‡āĻŦāĻ˛ on āĻĻā§āĻ¯ āĻĒā§āĻ°āĻĨāĻŽ āĻĒā§āĻ°āĻŦā§‡āĻļ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĨ¤"

¡ "I āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻšāĻŋāĻšā§āĻ¨ āĻĻā§āĻ¯ āĻŽā§‚āĻ˛ā§āĻ¯ of āĻĻā§āĻ¯ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ TCP āĻĒā§‚āĻ°ā§āĻŖāĻ¤āĻž āĻœāĻžāĻ¨āĻ˛āĻž (āĻĒā§āĻ°āĻ¤āĻŋ āĻ¸āĻŽāĻ¯āĻŧ it āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨) on a
āĻŦāĻŋāĻļā§‡āĻˇ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ TCP āĻ¸āĻ•ā§‡āĻŸ."

¡ "I āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ a āĻŽāĻ¨āĻŽāĻ°āĻž āĻ­āĻžāĻŦ of āĻ¸āĻŦ āĻŽā§‚āĻ˛ā§āĻ¯āĻŦā§‹āĻ§ āĻ¯ā§‡ āĻ›āĻŋāĻ˛ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ in my āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨āĨ¤"

āĻāĻ•āĻ‡āĻ­āĻžāĻŦā§‡, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ā§‡ āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ¸ā§‚āĻ•ā§āĻˇā§āĻŽ-āĻĻāĻžāĻ¨āĻžāĻ¯ā§āĻ•ā§āĻ¤ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻšāĻžāĻ‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻŦāĻž
āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻŽāĻžāĻ¨āĻŸāĻŋ āĻŦā§āĻ¯āĻžāĻĒāĻ•āĻ­āĻžāĻŦā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€āĻ¤ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻŦāĻ¸ā§āĻ¤ā§āĨ¤ āĻ…āĻŦāĻļā§‡āĻˇā§‡, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻœāĻžāĻ¨āĻ¤ā§‡ āĻšāĻžāĻ‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ•ā§‹āĻ¨ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ
āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡ āĻĒā§āĻ¨āĻ°ā§āĻĻā§āĻ§āĻžāĻ°āĻ¯ā§‹āĻ—ā§āĻ¯āĨ¤ āĻāĻŸāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨āĻ¯āĻŧ
āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻ‡āĻ¨ā§‡ āĻŽāĻŋāĻĨāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž; āĻāĻ•āĻŸāĻŋ (āĻ­āĻŦāĻŋāĻˇā§āĻ¯āĻ¤) āĻ—ā§āĻ°āĻžāĻĢāĻŋāĻ•āĻžāĻ˛ āĻ‡āĻ‰āĻœāĻžāĻ° āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸āĻ“ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°ā§āĻ¨
āĻāĻ•āĻŸāĻŋ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻšāĻ¤ā§‡ āĻšāĻžāĻ‡ āĻ¯āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻāĻ•āĻœāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻāĻ•āĻŸāĻŋ āĻ¨ā§‹āĻĄā§‡ āĻĄāĻžāĻ¨-āĻ•ā§āĻ˛āĻŋāĻ• āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ•ā§āĻ¯āĻžāĻ¨āĻ­āĻžāĻ¸ āĻāĻŦāĻ‚ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋāĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻļā§āĻ°ā§‡āĻŖāĻŋāĻŦāĻĻā§āĻ§, āĻ¸āĻ‚āĻ—āĻ āĻŋāĻ¤ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĻā§‡āĻ–ā§āĻ¨ āĻ¯āĻž āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ
āĻ¨ā§‹āĻĄ āĻāĻŦāĻ‚ āĻāĻ° āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ¸āĻĻāĻ¸ā§āĻ¯ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ, āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻŸā§‡āĻ•ā§āĻ¸āĻŸ āĻāĻŦāĻ‚ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŽāĻžāĻ¨
āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°āĨ¤

āĻ¸āĻ‚āĻœā§āĻžāĻž āĻ†āĻ°ā§‹āĻĒ āĻ•āĻ°āĻž
āĻ†āĻŽāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ—āĻ­ā§€āĻ°ā§‡ āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻŋ, āĻĒā§āĻ˛āĻžāĻŽā§āĻŦāĻŋāĻ‚ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ā§ˇ
āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸āĻ° (āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ°) āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻāĻŦāĻ‚ āĻ¤āĻžāĻĻā§‡āĻ° āĻĒā§‡āĻ¤ā§‡ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻšā§‡āĻ‡āĻ¨ āĻšāĻžāĻāĻŸāĻž. āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°ā§āĻ¨
āĻļā§āĻ°ā§‡āĻŖā§€ DropTailQueue āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻĻāĻ¸ā§āĻ¯ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛ āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŦāĻžāĻ•ā§āĻˇāĻ°āĻŦāĻŋāĻšā§€āĻ¨ āĻĒā§‚āĻ°ā§āĻŖāĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ†āĻ›ā§‡ m_max āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ;
āĻāĻ‡ āĻ¸āĻĻāĻ¸ā§āĻ¯ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ¸āĻžāĻ°āĻŋāĻ° āĻ—āĻ­ā§€āĻ°āĻ¤āĻž āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ•āĻ°ā§‡āĨ¤

āĻ†āĻŽāĻ°āĻž āĻ¯āĻĻāĻŋ āĻāĻ° āĻ˜ā§‹āĻˇāĻŖāĻž āĻĻā§‡āĻ–āĻŋ DropTailQueue, āĻ†āĻŽāĻ°āĻž āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ‡:

āĻ•ā§āĻ˛āĻžāĻ¸ DropTailQueue : āĻ¸āĻ°ā§āĻŦāĻœāĻ¨ā§€āĻ¨ āĻ¸āĻžāĻ°āĻŋ {
āĻĒā§āĻ°āĻ•āĻžāĻļā§āĻ¯:
āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻŸāĻžāĻ‡āĻĒāĻ†āĻ‡āĻĄāĻŋ GetTypeId (āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°);
...

āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤:
std:: āĻ¸āĻžāĻ°āĻŋ > m_packets;
uint32_t m_max āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ;
};

āĻ†āĻ¸ā§āĻ¨ āĻāĻŽāĻ¨ āĻœāĻŋāĻ¨āĻŋāĻ¸āĻ—ā§āĻ˛āĻŋ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°āĻŋ āĻ¯āĻž āĻāĻ•āĻœāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻŽāĻžāĻ¨ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨ m_max āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ:

āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŽāĻžāĻ¨ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨, āĻ¯ā§‡āĻŽāĻ¨ āĻ¯āĻ–āĻ¨āĻ‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ DropTailQueue āĻ¸ā§ƒāĻˇā§āĻŸ,
āĻāĻ‡ āĻ¸āĻĻāĻ¸ā§āĻ¯ āĻ¯ā§‡ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻĨā§‡āĻ•ā§‡ āĻ†āĻ°āĻŽā§āĻ­ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ.

¡ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡āĻ‡ āĻ¤āĻžāĻ¤ā§āĻ•ā§āĻˇāĻŖāĻŋāĻ• āĻ¸āĻžāĻ°āĻŋāĻ¤ā§‡ āĻŽāĻžāĻ¨ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨ āĻŦāĻž āĻĒāĻžāĻ¨āĨ¤

āĻ‰āĻĒāĻ°ā§‹āĻ•ā§āĻ¤ āĻœāĻŋāĻ¨āĻŋāĻ¸āĻ—ā§āĻ˛āĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¸ā§‡āĻŸ () āĻāĻŦāĻ‚ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž () āĻĢāĻžāĻ‚āĻļāĻ¨, āĻāĻŦāĻ‚ āĻ•āĻŋāĻ›ā§ āĻ§āĻ°āĻ¨ā§‡āĻ°
āĻŦāĻŋāĻļā§āĻŦāĻŦā§āĻ¯āĻžāĻĒā§€ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŽāĻžāĻ¨āĨ¤

āĻŽāĻ§ā§āĻ¯ā§‡ ns-3 āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ, āĻāĻ‡ āĻŽāĻžāĻ¨ āĻ¸āĻ‚āĻœā§āĻžāĻž āĻāĻŦāĻ‚ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸āĻ° āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨
āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸āĻ°āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧ āĻŸāĻžāĻ‡āĻĒāĻ†āĻ‡āĻĄāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸; āĻ¯ā§‡āĻŽāĻ¨.:

NS_OBJECT_ENSURE_REGISTERED (āĻĄā§āĻ°āĻĒāĻŸā§‡āĻ‡āĻ˛ āĻ¸āĻžāĻ°āĻŋ);

āĻŸāĻžāĻ‡āĻĒāĻ†āĻ‡āĻĄāĻŋ
DropTailQueue::GetTypeId (āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°)
{
āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• TypeId tid = TypeId ("ns3::DropTailQueue")
.SetParent ()
.AddConstructor ()
.AddAttribute ("MaxPackets",
"āĻāĻ‡ DropTailQueue āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻ°ā§āĻŦāĻžāĻ§āĻŋāĻ• āĻ¸āĻ‚āĻ–ā§āĻ¯āĻ• āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤",
UintegerValue (100),
MakeUintegerAccessor (&DropTailQueue::m_maxPackets),
MakeUintegerChecker ())
;

āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ tid;
}

āĻ¸āĻžāĻ°ā§āĻœāĻžāĻ°āĻŋāĻ° āĻ—ā§āĻ¨āĻ—āĻ¤ āĻŽāĻžāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž () āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻœāĻ¨ā§āĻ¯ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ¸āĻžā§āĻšāĻžāĻ˛āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ m_max āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻŽāĻžāĻ¨:

¡ (āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤) āĻ¸āĻĻāĻ¸ā§āĻ¯ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻŦāĻžāĻāĻ§āĻžāĻ‡ m_max āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻāĻ•āĻŸāĻŋ āĻĒāĻžāĻŦāĻ˛āĻŋāĻ• āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻĨā§‡āĻ•ā§‡
"āĻŽā§āĻ¯āĻžāĻ•ā§āĻ¸āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ".

¡ āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŽāĻžāĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻž (100 āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ)āĨ¤

āĻŽāĻžāĻ¨āĻŸāĻŋāĻ° āĻ…āĻ°ā§āĻĨ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°ā§‡ āĻ•āĻŋāĻ›ā§ āĻ¸āĻšāĻžāĻ¯āĻŧāĻ¤āĻž āĻĒāĻžāĻ ā§āĻ¯ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻ•āĻ°āĻžāĨ¤

¡ āĻāĻ•āĻŸāĻŋ "āĻšā§‡āĻ•āĻžāĻ°" āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻž (āĻāĻ‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ) āĻ¯āĻž āĻ¸ā§€āĻŽāĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻ…āĻ¨ā§āĻŽā§‹āĻĻāĻŋāĻ¤ āĻĒāĻ°āĻŋāĻ¸ā§€āĻŽāĻžāĨ¤

āĻŽā§‚āĻ˛ āĻŦāĻŋāĻˇāĻ¯āĻŧ āĻšāĻ˛ āĻāĻ–āĻ¨ āĻāĻ‡ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡āĻ° āĻŽāĻžāĻ¨ āĻāĻŦāĻ‚ āĻāĻ° āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŽāĻžāĻ¨ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸āĻ¯ā§‹āĻ—ā§āĻ¯
āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ā§‡āĻ° āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§‡, āĻ¯āĻž āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚āĻ—ā§āĻ˛āĻŋāĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻ¯ā§‡āĻŽāĻ¨ "āĻŽā§āĻ¯āĻžāĻ•ā§āĻ¸āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ" āĻāĻŦāĻ‚ āĻŸāĻžāĻ‡āĻĒāĻ†āĻ‡āĻĄāĻŋ āĻ¨āĻžāĻŽ
āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻŦāĻŋāĻ­āĻžāĻ—ā§‡, āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻŦ āĻ¯āĻž āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻāĻ‡ āĻŽāĻžāĻ¨ āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĒā§āĻ˛ā§‡āĻŸ.

āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–ā§āĻ¯ āĻ¯ā§‡ āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸā§‡āĻ° āĻĒā§āĻ°āĻžāĻ°āĻŽā§āĻ­āĻŋāĻ•āĻ¤āĻž āĻŽā§āĻ¯āĻžāĻ•ā§āĻ°ā§‹āĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡ NS_OBJECT_ENSURE_REGISTERED
(āĻĄā§āĻ°āĻĒāĻŸā§‡āĻ‡āĻ˛ āĻ¸āĻžāĻ°āĻŋ) āĻŦāĻ˛āĻž āĻšāĻšā§āĻ›ā§‡; āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻŋāĻ•ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻ•ā§āĻ˛āĻžāĻ¸ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻŦāĻžāĻ‡āĻ°ā§‡ āĻ°ā§‡āĻ–ā§‡ āĻ¯āĻžāĻ¨, āĻ†āĻĒāĻ¨āĻžāĻ°
āĻ—ā§āĻŖāĻžāĻŦāĻ˛ā§€ āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ†āĻ°āĻŽā§āĻ­ āĻ•āĻ°āĻž āĻšāĻŦā§‡ āĻ¨āĻž.

āĻ¯āĻĻāĻŋāĻ“ āĻ†āĻŽāĻ°āĻž āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧ āĻ¤āĻž āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°ā§‡āĻ›āĻŋ, āĻ†āĻŽāĻ°āĻž āĻāĻ–āĻ¨āĻ“ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻŦ āĻ¤āĻž āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻŋāĻ¨āĻŋ
āĻāĻŦāĻ‚ āĻāĻ‡ āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ¨ā§‡āĻ‡ globals.h āĻšā§‡āĻĄāĻžāĻ° āĻĢāĻžāĻ‡āĻ˛ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻ‡ āĻ†āĻ›ā§‡
āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŋāĻ¤ āĻ—ā§āĻŖāĻžāĻŦāĻ˛ā§€ āĻ¤āĻžāĻĻā§‡āĻ° āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ•āĻ­āĻžāĻŦā§‡āĻ‡ āĻĒā§āĻ°āĻļā§āĻ¨ āĻ‰āĻ āĻ›ā§‡ āĻ•āĻŋāĻ­āĻžāĻŦā§‡
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻ•āĻŋ āĻ¸āĻšāĻœā§‡āĻ‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻŽāĻĄā§‡āĻ˛ā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻāĻŦāĻ‚ āĻāĻ•āĻœāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻļāĻŋāĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻāĻ‡ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°ā§āĻ¨ āĻŦāĻž āĻ¤āĻžāĻĻā§‡āĻ° āĻ°ā§‡āĻ•āĻ°ā§āĻĄā§‡āĻ° āĻ…āĻ‚āĻļ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻŽāĻžāĻ¨ āĻ¨āĻĨāĻŋāĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§āĻ¨
āĻ…āĻ¨ā§āĻ•āĻ°āĻŖ?

āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻĒā§āĻ°āĻ•ā§ƒāĻ¤ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋāĻ° āĻŦāĻŋāĻļāĻĻ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻāĻŦāĻ‚ āĻāĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻļā§āĻŦāĻŦā§āĻ¯āĻžāĻĒā§€ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž
āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯, API āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ā§‡ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§āĨ¤ āĻāĻ‡ āĻŦāĻžāĻ•āĻŋ āĻœāĻ¨ā§āĻ¯
āĻ¨āĻĨāĻŋāĻ¤ā§‡ āĻ†āĻŽāĻ°āĻž āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋ āĻĒāĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻāĻŦāĻ‚ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻžāĻ° āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻ¯āĻžāĻšā§āĻ›āĻŋ
āĻŽāĻžāĻ¨āĨ¤

āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ
Config::SetDefault āĻāĻŦāĻ‚ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ‡āĻ¨
āĻ†āĻ¸ā§āĻ¨ āĻĻā§‡āĻ–āĻŋ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻŽāĻžāĻ¨ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ†āĻŽāĻ°āĻž āĻ¯āĻžāĻšā§āĻ›āĻŋ
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° src/point-to-point/examples/main-attribute-value.cc āĻšāĻŋāĻ¤ā§āĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ, āĻ¸āĻ™ā§āĻ—ā§‡
āĻ•āĻŋāĻ›ā§ āĻŦāĻŋāĻŦāĻ°āĻŖ āĻ›āĻŋāĻ¨āĻ¤āĻžāĻ‡ āĻ†āĻ‰āĻŸ. āĻĻā§āĻ¯ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧ:

// āĻāĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻŽā§ŒāĻ˛āĻŋāĻ• āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ
// āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻāĻ•āĻŸāĻŋ āĻŽāĻžāĻ¨ āĻĒāĻžāĻ¨; āĻ¯āĻĨāĻž, āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŦāĻžāĻ•ā§āĻˇāĻ°āĻŦāĻŋāĻšā§€āĻ¨
// āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ°āĻŋāĻ¤ā§‡ āĻ¸āĻ°ā§āĻŦāĻžāĻ§āĻŋāĻ• āĻ¸āĻ‚āĻ–ā§āĻ¯āĻ• āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸā§‡āĻ° āĻĒā§‚āĻ°ā§āĻŖāĻ¸āĻ‚āĻ–ā§āĻ¯āĻž
//

āĻ•ā§‹āĻ¨ int
āĻĒā§āĻ°āĻ§āĻžāĻ¨ (int argc, char *argv[])
{

// āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡, MaxPackets āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸā§‡āĻ° 100 āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸā§‡āĻ° āĻŽāĻžāĻ¨ āĻĨāĻžāĻ•ā§‡
// (āĻāĻ‡ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻŸāĻŋ DropTailQueue::GetTypeId āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡ āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡)
//
// āĻāĻ–āĻžāĻ¨ā§‡, āĻ†āĻŽāĻ°āĻž āĻāĻŸāĻŋ 80 āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸā§‡ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻŋāĨ¤ āĻ†āĻŽāĻ°āĻž āĻĻā§āĻŸāĻŋ āĻŽāĻžāĻ¨ āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ:
// āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚-āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ• āĻŽāĻžāĻ¨ āĻŦāĻž āĻāĻ•āĻŸāĻŋ Uinteger āĻŽāĻžāĻ¨
Config::SetDefault ("ns3::DropTailQueue::MaxPackets", StringValue ("80"));
// āĻ¨ā§€āĻšā§‡āĻ° āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ•āĻ˛ āĻ…āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ
Config::SetDefault ("ns3::DropTailQueue::MaxPackets", UintegerValue (80));

// āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ•ā§‡ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻāĻŦāĻ‚ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹āĻŸāĻŋ āĻ“āĻ­āĻžāĻ°āĻ°āĻžāĻ‡āĻĄ āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻāĻŋāĻ¨
// āĻ¸ā§‡āĻŸāĻĄāĻŋāĻĢāĻ˛ā§āĻŸ () āĻ°āĻžāĻ¨-āĻŸāĻžāĻ‡āĻŽā§‡, āĻ•āĻŽāĻžāĻ¨ā§āĻĄ-āĻ˛āĻžāĻ‡āĻ¨ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡
// āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, "--ns3::DropTailQueue::MaxPackets=80" āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡
āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ‡āĻ¨ cmd;
// āĻāĻŸāĻŋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻ‡āĻ¨ āĻĨā§‡āĻ•ā§‡ āĻŽāĻžāĻ¨ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻžāĻ° āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡:
cmd.AddValue ("maxPackets", "ns3::DropTailQueue::MaxPackets");
cmd.Parse (argc, argv);

āĻ‰āĻĒāĻ°ā§‡ āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°āĻžāĻ° āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻšāĻ˛ āĻĻā§āĻŸāĻŋ āĻ¸āĻŽāĻ¤ā§āĻ˛ā§āĻ¯ āĻ•āĻ˛ Config::SetDefault
(). āĻāĻ‡āĻ­āĻžāĻŦā§‡ āĻ†āĻŽāĻ°āĻž āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€āĻ¤ā§‡ āĻ¤āĻžāĻ¤ā§āĻ•ā§āĻˇāĻŖāĻŋāĻ• āĻ¸āĻ•āĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŽāĻžāĻ¨ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻŋ
DropTailQueues āĻ†āĻŽāĻ°āĻž āĻ¯ā§‡ āĻĻā§āĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻšāĻŋāĻ¤ā§āĻ°āĻŋāĻ¤ āĻŽā§‚āĻ˛ā§āĻ¯ āĻ•ā§āĻ˛āĻžāĻ¸, āĻ• āĻ¤āĻžāĻ°ā§‡āĻ° āĻ‰āĻĒāĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ
UintegerValue class, āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻžāĻŽāĻ¯ā§āĻ•ā§āĻ¤ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ā§‡āĻ° āĻŽāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
"ns3::DropTailQueue::MaxPackets"āĨ¤

āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ—ā§āĻŖāĻžāĻŦāĻ˛ā§€ āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĒā§āĻ˛ā§‡āĻŸ āĻ•āĻ°āĻžāĻ“ āĻ¸āĻŽā§āĻ­āĻŦ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ‡āĻ¨; āĻ†āĻŽāĻ°āĻž āĻ•āĻŋāĻ›ā§ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĻā§‡āĻ–ā§‡āĻ›āĻŋ
āĻŸāĻŋāĻ‰āĻŸā§‹āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ā§‡āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻĻāĻŋāĻ•ā§‡āĨ¤ āĻŦāĻŋāĻļā§‡āĻˇ āĻ•āĻ°ā§‡, āĻ¸āĻ‚āĻ•ā§āĻˇā§‡āĻĒā§‡ āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻ¸āĻšāĻœ
āĻ¨āĻžāĻŽ, āĻ¯ā§‡āĻŽāĻ¨ -- āĻŽā§āĻ¯āĻžāĻ•ā§āĻ¸ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ, āĻāĻ•āĻŸāĻŋ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¯āĻž āĻ†āĻĒāĻ¨āĻžāĻ° āĻŽāĻĄā§‡āĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻŋāĻļā§‡āĻˇāĻ­āĻžāĻŦā§‡ āĻĒā§āĻ°āĻžāĻ¸āĻ™ā§āĻ—āĻŋāĻ•,
āĻāĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ "ns3::DropTailQueue::MaxPackets". āĻāĻ‡ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ†āĻ›ā§‡ āĻ¯ā§‡
āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻšā§‡āĻ˛ā§āĻĒ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻ° āĻ…āĻ‚āĻļ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŽā§āĻĻā§āĻ°āĻŋāĻ¤ āĻšāĻŦā§‡āĨ¤
āĻ†āĻ°ā§‹ āĻ¤āĻĨā§āĻ¯ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĻā§‡āĻ–ā§āĻ¨ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ‡āĻ¨ API āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨āĨ¤

āĻāĻ–āĻ¨, āĻ†āĻŽāĻ°āĻž āĻ¨āĻŋāĻŽā§āĻ¨-āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° API āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦāĨ¤ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¨āĻ¤ā§āĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ¸āĻžāĻ°āĻŋ āĻšāĻŦā§‡
āĻ¨ā§‡āĻ‡ m_max āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ 100 āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯ā§‡āĻŽāĻ¨ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
DropTailQueue::GetTypeId () āĻĢāĻžāĻ‚āĻļāĻ¨, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ 80 āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸā§‡, āĻ•āĻžāĻ°āĻŖ āĻ†āĻŽāĻ°āĻž āĻ‰āĻĒāĻ°ā§‡ āĻ•āĻŋ āĻ•āĻ°ā§‡āĻ›āĻŋ
āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŽāĻžāĻ¨.:

Ptr n0 = CreateObject ();

Ptr net0 = CreateObject ();
n0->āĻ…ā§āĻ¯āĻžāĻĄāĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ (āĻ¨ā§‡āĻŸ0);

Ptr q = CreateObject ();
net0->AddQueue(q);

āĻāĻ‡ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§‡, āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĻ›āĻŋ āĻ¨ā§‹āĻĄ (n0) āĻāĻŦāĻ‚ āĻāĻ•āĻ• PointToPointNetDevice
(net0), āĻāĻŦāĻ‚ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻāĻ•āĻŸāĻŋ DropTailQueue (q) āĻĨā§‡āĻ•ā§‡ net0.

āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖāĻ•āĻžāĻ°ā§€, āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€ āĻāĻŦāĻ‚ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻĢā§āĻ¯āĻžāĻ•ā§āĻŸāĻ°āĻŋ
āĻ—ā§āĻŖāĻžāĻŦāĻ˛ā§€āĻ° āĻ¨āĻŋāĻ°ā§āĻŦāĻŋāĻšāĻžāĻ°ā§‡ āĻ¸āĻŽāĻ¨ā§āĻŦāĻ¯āĻŧ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŦāĻ‚ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€ āĻāĻŦāĻ‚ āĻ¨āĻŋāĻŽā§āĻ¨-āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻĨā§‡āĻ•ā§‡ āĻ†āĻ¨āĻž āĻ¯āĻžāĻ¯āĻŧ
āĻāĻĒāĻŋāĻ†āĻ‡; āĻšāĻ¯āĻŧ āĻ•āĻ¨āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•ā§āĻŸāĻ°āĻĻā§‡āĻ° āĻĨā§‡āĻ•ā§‡:

Ptr p =
CreateObjectWithAttributes
("MinX", DoubleValue (-100.0),
"MinY", DoubleValue (-100.0),
"DeltaX", DoubleValue (5.0),
"DeltaY", DoubleValue (20.0),
"āĻ—ā§āĻ°āĻŋāĻĄāĻ‰āĻ‡āĻĨ", UintegerValue (20),
"LayoutType", StringValue ("RowFirst"));

āĻ…āĻĨāĻŦāĻž āĻ‰āĻšā§āĻš-āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€ API āĻĨā§‡āĻ•ā§‡, āĻ¯ā§‡āĻŽāĻ¨:

āĻ—āĻ¤āĻŋāĻļā§€āĻ˛āĻ¤āĻžāĨ¤āĻ¸ā§‡āĻŸ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ āĻŦāĻ°āĻžāĻĻā§āĻĻāĻ•āĻžāĻ°ā§€
("ns3::GridPosition Allocator",
"MinX", DoubleValue (-100.0),
"MinY", DoubleValue (-100.0),
"DeltaX", DoubleValue (5.0),
"DeltaY", DoubleValue (20.0),
"āĻ—ā§āĻ°āĻŋāĻĄāĻ‰āĻ‡āĻĨ", UintegerValue (20),
"LayoutType", StringValue ("RowFirst"));

āĻ†āĻŽāĻ°āĻž āĻāĻ–āĻžāĻ¨ā§‡ āĻāĻŸāĻŋ āĻšāĻŋāĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻŋ āĻ¨āĻž, āĻ¤āĻŦā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°āĻ“ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻĢā§āĻ¯āĻžāĻ•ā§āĻŸāĻ°āĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻžāĻ¨ āĻ¸āĻš
āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ā§‡āĻ° āĻœāĻ¨ā§āĻ¯āĨ¤ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻĻā§ƒāĻˇā§āĻŸāĻžāĻ¨ā§āĻ¤ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻĢā§āĻ¯āĻžāĻ•ā§āĻŸāĻ°āĻŋ āĻāĻ—ā§āĻ˛ā§‹ āĻĨāĻžāĻ•āĻŦā§‡
āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋāĨ¤ āĻāĻŸāĻŋ āĻ¸āĻšāĻžāĻ¯āĻŧāĻ• APIāĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻŽāĻ¤ā§‹āĻ‡
āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯āĨ¤

āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ•ā§āĻ˛āĻžāĻ¸ āĻ‡āĻ¨āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻŽāĻžāĻ¨ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻžāĻ° āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻĨā§‡āĻ•ā§‡ be
āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ in āĻĻā§āĻ¯ āĻ­āĻŦāĻŋāĻˇā§āĻ¯ā§Ž

¡ Config::SetDefault ()

¡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ‡āĻ¨::āĻ…ā§āĻ¯āĻžāĻĄ āĻ­ā§āĻ¯āĻžāĻ˛ā§ ()

¡ CreateObjectWithAttributes<> ()

¡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€ API

āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡ āĻĨāĻžāĻ•ā§‡āĻ¨ āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ° āĻŽāĻžāĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ•ā§€ āĻšāĻŦā§‡
āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯? āĻāĻ‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡, āĻ†āĻŽāĻ°āĻž āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĒā§āĻ˛ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ m_max āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻŽāĻžāĻ¨
āĻ¤āĻžāĻ¤ā§āĻ•ā§āĻˇāĻŖāĻŋāĻ• DropTailQueue? āĻāĻŸāĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ–āĻžāĻ¨ā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ
āĻ¸ā§āĻŽāĻžāĻ°ā§āĻŸāĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ°
āĻ…āĻ¨ā§āĻŽāĻžāĻ¨ āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŽāĻžāĻ°ā§āĻŸ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° (ptr) āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻžāĻ¸āĻ™ā§āĻ—āĻŋāĻ• āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻšāĻžāĻ¤ā§‡ āĻ†āĻ›ā§‡; āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ, āĻāĻŸāĻž net0 āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ°

āĻŽāĻžāĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻšāĻ˛ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻ¸āĻžāĻ°āĻŋāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻ¤āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž
āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻžāĻŦāĻ˛ā§€āĨ¤

āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻ†āĻŽāĻ°āĻž āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°āĻŋ āĻ¯ā§‡ āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ (āĻŦā§‡āĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸) āĻ•āĻŋāĻ‰ āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻĻā§āĻ¯
PointToPointNetDevice āĻ—ā§āĻŖāĻžāĻŦāĻ˛ā§€, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻŸāĻŋ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ "TxQueue":

āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻ­ā§āĻ¯āĻžāĻ˛ā§ tmp;
net0->GetAttribute ("TxQueue", tmp);
Ptr txQueue = tmp.GetObject ();

āĻ‰āĻĒāĻ°ā§‡āĻ° GetObject () āĻĢāĻžāĻ‚āĻļāĻ¨, āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻ downcast āĻ¸āĻžā§āĻšāĻžāĻ˛āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ DropTailQueue, āĻ•ā§‹āĻĨāĻžāĻ¯āĻŧ
"āĻŽā§āĻ¯āĻžāĻ•ā§āĻ¸āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ" āĻāĻ•āĻŸāĻŋ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯:

Ptr dtq = txQueue->GetObject ();
NS_ASSERT (dtq != 0);

āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€, āĻ†āĻŽāĻ°āĻž āĻāĻ‡ āĻ¸āĻžāĻ°āĻŋāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ā§‡āĻ° āĻŽāĻžāĻ¨ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻ†āĻŽāĻ°āĻž āĻŽā§‹āĻĄāĻŧāĻ• āĻšāĻžāĻ˛ā§ āĻ†āĻ›ā§‡
āĻŽā§‚āĻ˛ā§āĻ¯ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻĄā§‡āĻŸāĻž āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§āĻ˛āĻžāĻ¸, āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻšāĻžāĻ°āĻĒāĻžāĻļā§‡ āĻœāĻžāĻ­āĻž āĻ°â€ā§āĻ¯āĻžāĻĒāĻžāĻ°ā§‡āĻ° āĻŽāĻ¤ā§‹,
āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚-āĻ āĻ•ā§āĻ°āĻŽāĻžāĻ¨ā§āĻ¸āĻžāĻ°ā§‡ āĻ•āĻ°āĻž āĻŽāĻžāĻ¨ āĻ¸āĻžā§āĻšāĻ¯āĻŧ āĻ•āĻ°ā§‡, āĻ­āĻŋāĻ¨ā§āĻ¨ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ¨āĻ¯āĻŧāĨ¤
āĻāĻ–āĻžāĻ¨ā§‡, āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸā§‡āĻ° āĻŽāĻžāĻ¨ a āĻ•ā§‡ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ UintegerValue, āĻāĻŦāĻ‚ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž () āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ
āĻŽāĻžāĻ¨ āĻ‰ā§ŽāĻĒāĻ¨ā§āĻ¨ āĻ•āĻ°ā§‡ (āĻ†āĻŦāĻĄāĻŧāĻžāĻ¨ā§‹) uint32_t.:

UintegerValue āĻ¸ā§€āĻŽāĻž;
dtq->GetAttribute ("āĻŽā§āĻ¯āĻžāĻ•ā§āĻ¸āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸāĻ¸", āĻ¸ā§€āĻŽāĻž);
NS_LOG_INFO ("1. dtq āĻ¸ā§€āĻŽāĻž: " << limit. āĻĒāĻžāĻ¨ () << " āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸāĻ—ā§āĻ˛āĻŋ");

āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–ā§āĻ¯ āĻ¯ā§‡ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻĄāĻžāĻ‰āĻ¨āĻ•āĻžāĻ¸ā§āĻŸā§‡āĻ° āĻ†āĻ¸āĻ˛ā§‡āĻ‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¨ā§‡āĻ‡; āĻ†āĻŽāĻ°āĻž āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ…āĻ°ā§āĻœāĻŋāĻ¤ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻŽāĻžāĻ¨ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻĨā§‡āĻ•ā§‡ txQueue, āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯:

txQueue->GetAttribute ("MaxPackets", āĻ¸ā§€āĻŽāĻž);
NS_LOG_INFO ("2. txQueue āĻ¸ā§€āĻŽāĻž: " << limit. āĻĒāĻžāĻ¨ () << " āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸāĻ—ā§āĻ˛āĻŋ");

āĻāĻ–āĻ¨, āĻāĻŸāĻŋāĻ•ā§‡ āĻ…āĻ¨ā§āĻ¯ āĻŽāĻžāĻ¨ (60 āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ) āĻ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•:

txQueue->SetAttribute("MaxPackets", UintegerValue (60));
txQueue->GetAttribute ("MaxPackets", āĻ¸ā§€āĻŽāĻž);
NS_LOG_INFO ("3. txQueue āĻ¸ā§€āĻŽāĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡: " << limit. āĻĒāĻžāĻ¨ () << " āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸāĻ—ā§āĻ˛āĻŋ");

āĻ•āĻ¨āĻĢāĻŋāĻ— āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ āĻĒāĻĨ
āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻšāĻ˛ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¨ā§‡āĻŽāĻ¸ā§āĻĒā§‡āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĨ¤ āĻāĻ–āĻžāĻ¨ā§‡,
āĻāĻ‡ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻŸāĻŋ āĻāĻ‡ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ āĻĒāĻĨā§‡ āĻĨāĻžāĻ•ā§‡; āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻĻāĻ°āĻ•āĻžāĻ°ā§€ āĻ¯āĻĻāĻŋ āĻāĻ•
āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ°āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ¨ā§‡āĻ‡ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡
āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻŦāĻŋāĻŦā§ƒāĻ¤āĻŋ āĻ¸āĻš āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯.:

āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°::āĻ¸ā§‡āĻŸ ("/NodeList/0/DeviceList/0/TxQueue/MaxPackets",
UintegerValue (25%);
txQueue->GetAttribute ("MaxPackets", āĻ¸ā§€āĻŽāĻž);
NS_LOG_INFO ("4. āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ txQueue āĻ¸ā§€āĻŽāĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡:"
<< āĻ¸ā§€āĻŽāĻžāĨ¤ āĻĒāĻžāĻ¨ () << " āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸāĻ—ā§āĻ˛āĻŋ");

āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĒāĻžāĻĨ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻ‡ āĻĢāĻ°ā§āĻŽ āĻ†āĻ›ā§‡ ".../
āĻ¨āĻžāĻŽ>/ /.../ / " āĻāĻ•āĻŸāĻŋ āĻ¸ā§‚āĻšāĻ• āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°āĻ¤ā§‡
āĻĒāĻžāĻ¤ā§āĻ°ā§‡ āĻŦāĻ¸ā§āĻ¤ā§āĨ¤ āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻĒā§āĻ°āĻĨāĻŽ āĻ§āĻžāĻ°āĻ• āĻ¸āĻŦ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ¨ā§‹āĻĄs; āĻĻā§āĻ¯
āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻ§āĻžāĻ°āĻ• āĻ¸āĻŦ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ¨ā§‡āĻŸāĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻŋāĻ¤ āĻ‰āĻĒāĻ° s āĻ¨ā§‹āĻĄāĨ¤ āĻ…āĻŦāĻļā§‡āĻˇā§‡,
āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĒāĻžāĻĨ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ¸āĻĻāĻ¸ā§āĻ¯ āĻ—ā§āĻŖāĻžāĻŦāĻ˛ā§€āĻ° āĻ‰āĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ° āĻĻāĻŋāĻ¯āĻŧā§‡ āĻļā§‡āĻˇ āĻšāĻ¯āĻŧ, āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡
"āĻŽā§āĻ¯āĻžāĻ•ā§āĻ¸āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ" āĻāĻ° āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ "TxQueue" āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻŋāĻ¤āĻĻā§‡āĻ° āĻ¨ā§‡āĻŸāĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸.

āĻ†āĻŽāĻ°āĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¨ā§‹āĻĄ āĻāĻŦāĻ‚ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¨ā§‡āĻŸ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ‡ āĻŽāĻžāĻ¨ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻ“āĻ¯āĻŧāĻžāĻ‡āĻ˛ā§āĻĄāĻ•āĻžāĻ°ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻ¤āĻžāĻŽ
(āĻ¯āĻž āĻāĻ‡ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡ āĻ†āĻ—ā§‡āĻ°āĻŸāĻŋāĻ° āĻŽāĻ¤ā§‹ āĻāĻ•āĻ‡ āĻĒā§āĻ°āĻ­āĻžāĻŦ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°::āĻ¸ā§‡āĻŸ ()):

āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°::āĻ¸ā§‡āĻŸ ("/NodeList/*/DeviceList/*/TxQueue/MaxPackets",
UintegerValue (15%);
txQueue->GetAttribute ("MaxPackets", āĻ¸ā§€āĻŽāĻž);
NS_LOG_INFO ("5. txQueue āĻ¸ā§€āĻŽāĻž āĻ“āĻ¯āĻŧāĻžāĻ‡āĻ˛ā§āĻĄāĻ•āĻžāĻ°ā§āĻĄā§‡āĻĄ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡:"
<< āĻ¸ā§€āĻŽāĻžāĨ¤ āĻĒāĻžāĻ¨ () << " āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸāĻ—ā§āĻ˛āĻŋ");

āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ āĻ¨āĻžāĻŽ āĻ¸ā§‡āĻŦāĻž
āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻšāĻ˛ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¨ā§‡āĻŽ āĻ¸āĻžāĻ°ā§āĻ­āĻŋāĻ¸ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĨ¤ āĻĻā§āĻ¯
āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¨ā§‡āĻŽ āĻ¸āĻžāĻ°ā§āĻ­āĻŋāĻ¸ āĻ†āĻŽāĻžāĻĻā§‡āĻ°āĻ•ā§‡ āĻāĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¨ā§‡āĻŽāĻ¸ā§āĻĒā§‡āĻ¸ā§‡ āĻ†āĻ‡āĻŸā§‡āĻŽ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ
"/āĻ¨āĻžāĻŽ/" āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€-āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ¨āĻžāĻŽā§‡āĻ° āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻ¸āĻš āĻĒāĻĨāĨ¤ āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻĻāĻ°āĻ•āĻžāĻ°ā§€ āĻ¯āĻĻāĻŋ āĻ•ā§‡āĻ‰ āĻ¨āĻž āĻ•āĻ°ā§‡
āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ°āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ†āĻ›ā§‡ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°āĻž āĻ•āĻ āĻŋāĻ¨
āĻ•āĻ‚āĻ•ā§āĻ°āĻŋāĻŸ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ āĻĒāĻžāĻĨāĨ¤

āĻ¨āĻžāĻŽ::āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ ("āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°", n0);
āĻ¨āĻžāĻŽ::āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ ("āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°/eth0", net0);

...

Config::Set ("/Names/server/eth0/TxQueue/MaxPackets", UintegerValue (25));

āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻ°āĻž āĻĒāĻžāĻĨ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡āĻ›āĻŋ "āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°" āĻāĻŦāĻ‚ "eth0" āĻ…āĻ§ā§€āĻ¨ā§‡ "/āĻ¨āĻžāĻŽ/" āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨, āĻ¤āĻžāĻ°āĻĒāĻ°
āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĒāĻžāĻĨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤

āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻšāĻŋāĻ•āĻŋāĻ¤ā§āĻ¸āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ-āĻ¨āĻžāĻŽ āĻĻā§‡āĻ–ā§āĻ¨ ns-3 āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨āĨ¤

āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤
āĻŽā§‚āĻ˛ā§āĻ¯ āĻ•ā§āĻ˛āĻžāĻ¸
āĻĒāĻžāĻ āĻ•āĻ°āĻž āĻ¨ā§‹āĻŸ āĻ•āĻ°āĻŦā§‡āĻ¨ TypeValue āĻ¯ā§‡ āĻļā§āĻ°ā§‡āĻŖā§€āĻ—ā§āĻ˛āĻŋ āĻšāĻ˛ āĻāĻ° āĻ¸āĻžāĻŦāĻ•ā§āĻ˛āĻžāĻ¸ āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻ­ā§āĻ¯āĻžāĻ˛ā§ āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ
āĻ•ā§āĻ˛āĻžāĻ¸ āĻāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻŽāĻ§ā§āĻ¯āĻŦāĻ°ā§āĻ¤ā§€ āĻļā§āĻ°ā§‡āĻŖā§€ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ­āĻžāĻŦāĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¯āĻž āĻ•āĻžāĻāĻšāĻž āĻĨā§‡āĻ•ā§‡ āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧ
āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ°āĻ•āĻžāĻ° āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻ­ā§āĻ¯āĻžāĻ˛ā§s āĻ¯āĻž āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ āĻ¯ā§‡ āĻāĻ‡
āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ…āĻ¨ā§‡āĻ• āĻ§āĻ°āĻ¨ā§‡āĻ° āĻŦāĻ¸ā§āĻ¤ā§āĻ•ā§‡ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚-āĻ āĻ•ā§āĻ°āĻŽāĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§‡āĨ¤ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ°
āĻšāĻ¯āĻŧ āĻāĻ•āĻŸāĻŋ āĻŽāĻ§ā§āĻ¯āĻŦāĻ°ā§āĻ¤ā§€ āĻ•ā§āĻ˛āĻžāĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ (āĻ¯ā§‡āĻŽāĻ¨ āĻĒā§‚āĻ°ā§āĻŖāĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻŽāĻžāĻ¨, āĻŦāĻž āĻĄāĻžāĻŦāĻ˛ āĻ­ā§āĻ¯āĻžāĻ˛ā§ āĻ‰āĻ¨ā§āĻ¨āĻ¤
āĻ­āĻžāĻ¸āĻŽāĻžāĻ¨ āĻŦāĻŋāĻ¨ā§āĻĻā§ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž) āĻŦāĻž āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ°
āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻ­ā§āĻ¯āĻžāĻ˛ā§ āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻŋāĻ• āĻ¨āĻ¯āĻŧāĨ¤ āĻ¸ā§āĻ¤āĻ°āĻžāĻ‚ āĻ‰āĻĒāĻ°ā§‡, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻĒāĻ›āĻ¨ā§āĻĻ āĻ†āĻ›ā§‡
āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻŦāĻž āĻŽāĻžāĻ¨:

p->āĻ¸ā§‡āĻŸ ("cwnd", StringValue ("100")); // āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚-āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ• āĻ¸ā§‡āĻŸāĻžāĻ°
p->āĻ¸ā§‡āĻŸ ("cwnd", IntegerValue (100)); // āĻĒā§‚āĻ°ā§āĻŖāĻ¸āĻ‚āĻ–ā§āĻ¯āĻž-āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ• āĻ¸ā§‡āĻŸāĻžāĻ°

āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻŸāĻŋ āĻ•āĻŋāĻ›ā§ āĻŽā§āĻ¯āĻžāĻ•ā§āĻ°ā§‹ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻ¯āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻ¨āĻ¤ā§āĻ¨ āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻ­ā§āĻ¯āĻžāĻ˛ā§ āĻ˜ā§‹āĻˇāĻŖāĻž āĻāĻŦāĻ‚ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻšāĻžāĻ¯āĻŧāĻ¤āĻž āĻ•āĻ°ā§‡
āĻ¨āĻ¤ā§āĻ¨ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ¸āĻžāĻŦāĻ•ā§āĻ˛āĻžāĻ¸ āĻ¯āĻž āĻ¤āĻžāĻ°āĻž āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻĒā§āĻ°āĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¯āĻŧ:

¡ ATTRIBUTE_HELPER_HEADER

¡ ATTRIBUTE_HELPER_CPP

āĻ†āĻ°āĻ“ āĻ¤āĻĨā§āĻ¯ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ‡ āĻ—āĻ āĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ API āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻĻā§‡āĻ–ā§āĻ¨āĨ¤

āĻ†āĻ°āĻŽā§āĻ­ āĻ…āĻ°ā§āĻĄāĻžāĻ°
āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻāĻ¤ā§‡ āĻ…āĻ¨ā§āĻ¯ āĻ•ā§‹āĻ¨āĻ“ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ā§‡āĻ° āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°āĻŦā§‡ āĻ¨āĻž
āĻĒāĻĻā§āĻ§āĻ¤āĻŋ. āĻāĻŸāĻŋ āĻ•āĻžāĻ°āĻŖ āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻĒā§āĻ°āĻžāĻ°āĻŽā§āĻ­āĻŋāĻ•āĻ¤āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻ°āĻŽ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ, āĻŦāĻž
āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻ° āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡ āĻĻā§‡āĻ–āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻ¯ā§‡āĻŽāĻ¨ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°āĻ¸ā§āĻŸā§‹āĻ°. āĻ¯āĻĻāĻŋāĻ“ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻŽāĻĄā§‡āĻ˛ āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¯āĻžāĻ¤ā§‡ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋ
āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•ā§āĻ°āĻŽā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ…āĻ¨ā§āĻ¯ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°āĻžāĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ¸ā§āĻŦāĻ¤āĻ¨ā§āĻ¤ā§āĻ°āĻ­āĻžāĻŦā§‡ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻŦāĻ°ā§āĻŖāĻžāĻ¨ā§āĻ•ā§āĻ°āĻŽāĻŋāĻ• āĻ•ā§āĻ°āĻŽā§‡āĨ¤

āĻāĻ‡ āĻ…-āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•ā§āĻ°āĻŽ-āĻāĻ° āĻ•āĻžāĻ°āĻŖā§‡, āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ•ā§‹āĻ¨ā§‹ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ā§‡āĻ° āĻ•ā§‹āĻ¨ā§‹ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻĨāĻžāĻ•āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ…āĻ¨ā§āĻ¯ āĻ•ā§‹āĻ¨ā§‹ āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸā§‡āĨ¤ āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻ¸ā§‡āĻŸāĻ•āĻžāĻ°ā§€āĻ°āĻž āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ°āĻžāĻˇā§āĻŸā§āĻ°ā§‡āĻ° āĻ•āĻžāĻ°āĻŖā§‡ āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻŦā§‡āĻ¨ āĻ¨āĻž
āĻ…āĻ¨ā§āĻ¯ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ā§‡āĻ°āĨ¤ āĻ•ā§‹āĻ¨ā§‹ āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻ¸ā§‡āĻŸāĻžāĻ° āĻ…āĻ¨ā§āĻ¯ āĻ•ā§‹āĻ¨ā§‹ āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻŽāĻžāĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ (āĻ¸ā§‡āĻŸ) āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¨āĻž
āĻāĻ° āĻŽāĻžāĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§‡āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛āĨ¤

āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ–ā§āĻŦ āĻļāĻ•ā§āĻ¤āĻŋāĻļāĻžāĻ˛ā§€ āĻ¸ā§€āĻŽāĻžāĻŦāĻĻā§āĻ§āĻ¤āĻž āĻāĻŦāĻ‚ āĻāĻŽāĻ¨ āĻ•āĻŋāĻ›ā§ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤
āĻ§āĻžāĻ°āĻžāĻŦāĻžāĻšāĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ¸āĻ āĻŋāĻ• āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻāĻŋāĻ¤ā§‡. āĻāĻ‡ āĻ˛āĻ•ā§āĻˇā§āĻ¯ā§‡ āĻ†āĻŽāĻ°āĻž āĻ§āĻžāĻ°āĻžāĻŦāĻžāĻšāĻŋāĻ•āĻ¤āĻž āĻ¯āĻžāĻšāĻžāĻ‡ āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻāĻŋāĻ‡
āĻ•āĻ–āĻ¨ āĻĻā§āĻ¯ āĻ—ā§āĻŖ is āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ (cf. NS_ASSERT_MSG or NS_ABORT_MSG).

āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ­āĻžāĻŦā§‡, āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¸āĻĻāĻ¸ā§āĻ¯ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡āĻ° āĻŽāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻ•ā§‹āĻĄ
āĻāĻ•āĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻĒāĻ°ā§‡ āĻŽā§ƒāĻ¤ā§āĻ¯ā§āĻĻāĻ¨ā§āĻĄ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ. āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻŽāĻžāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¯āĻŧ
āĻ•āĻ¨āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•ā§āĻŸāĻ° āĻŦāĻĄāĻŋ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻžāĻ° āĻ†āĻ—ā§‡, āĻ•āĻžāĻ°āĻŖ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻ¤ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨
āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖāĻ•āĻžāĻ°ā§€? āĻāĻŸāĻŋ āĻ•āĻ°āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻ†āĻ›ā§‡, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°āĻ¸ā§āĻŸā§‹āĻ°: āĻ•āĻ˛
āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸāĻŦā§‡āĻ¸::ConstructSelf () āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§‚āĻĒ:

ConfigStore::ConfigStore ()
{
āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸāĻŦā§‡āĻ¸::ConstructSelf (AttributeConstructionList ());
// āĻ•āĻ¨āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•ā§āĻŸāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻšāĻžāĻ˛āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¨āĨ¤
}

āĻ¸āĻ¤āĻ°ā§āĻ• āĻĨāĻžāĻ•ā§āĻ¨ āĻ¯ā§‡ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻāĻŦāĻ‚ āĻāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻ•ā§āĻ˛āĻžāĻ¸āĻ—ā§āĻ˛āĻŋāĻ•ā§‡āĻ“ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ GetInstanceTypeId
() āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ…āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸāĻŦā§‡āĻ¸::ConstructSelf () āĻĒāĻĄāĻŧāĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡ āĻ¨āĻž
āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻžāĻŦāĻ˛ā§€āĨ¤

āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ†āĻ°ā§‹āĻĒ āĻ•āĻ°āĻž
āĻ¸āĻžāĻ°ā§āĻœāĻžāĻ°āĻŋāĻ° ns-3 āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻŽāĻžāĻ¨ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻŦā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§
āĻ¨āĻŋāĻƒāĻ¸āĻ¨ā§āĻĻā§‡āĻšā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻāĻŸāĻŋāĻ•ā§‡ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡āĻŦā§‡āĻ¨ āĻ¯āĻž āĻ†āĻŽāĻ°āĻž āĻŽāĻŋāĻ¸ āĻ•āĻ°ā§‡āĻ›āĻŋ āĻŦāĻž āĻ¤āĻžāĻĻā§‡āĻ° āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡
āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻ•ā§āĻ˛āĻžāĻ¸āĨ¤

āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:

āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ•ā§āĻ˛āĻžāĻ¸ āĻĄā§‡āĻŸāĻž āĻ¸āĻĻāĻ¸ā§āĻ¯āĻ•ā§‡ āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸āĻ¯ā§‹āĻ—ā§āĻ¯ āĻ•āĻ°āĻž, āĻ¯āĻ–āĻ¨ āĻāĻŸāĻŋ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡āĻ‡ āĻ¨ā§‡āĻ‡āĨ¤

¡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ•ā§āĻ˛āĻžāĻ¸āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ TypeId āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ•āĻŋāĻ›ā§ āĻĄā§‡āĻŸāĻž āĻ¸āĻĻāĻ¸ā§āĻ¯āĻ•ā§‡ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻĒā§āĻ°āĻ•āĻžāĻļ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻžāĨ¤

āĻāĻ•āĻŸāĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻ­ā§āĻ¯āĻžāĻ˛ā§ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻžāĻŦāĻ•ā§āĻ˛āĻžāĻ¸ āĻ¯āĻžāĻ¤ā§‡ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ
āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯

āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ¸āĻĻāĻ¸ā§āĻ¯ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛
āĻāĻ‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°ā§āĻ¨ TcpSocket:

uint32_t m_cWnd; // āĻ¯āĻžāĻ¨āĻœāĻŸ āĻœāĻžāĻ¨āĻžāĻ˛āĻž

āĻ§āĻ°ā§āĻ¨ āĻ¯ā§‡ āĻ•ā§‡āĻ‰ TCP āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ¸ā§‡āĻ‡ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡āĻ° āĻŽāĻžāĻ¨ āĻĒā§‡āĻ¤ā§‡ āĻŦāĻž āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¯āĻŧ
āĻŽā§‡āĻŸāĻžāĻĄā§‡āĻŸāĻž āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤ āĻ¯āĻĻāĻŋ āĻāĻŸāĻŋ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻž ns-3, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ˜ā§‹āĻˇāĻŖāĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ°āĻžāĻ¨āĻŸāĻžāĻ‡āĻŽ āĻŽā§‡āĻŸāĻžāĻĄā§‡āĻŸāĻž āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ¸āĻ‚āĻ¯ā§‹āĻœāĻ¨ (āĻ GetTypeId() āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ‚āĻœā§āĻžāĻž
TcpSocket):

.AddAttribute ("āĻ•āĻ¨āĻœā§‡āĻļāĻ¨ āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹",
"Tcp āĻ•āĻ¨āĻœā§‡āĻļāĻ¨ āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹ (āĻŦāĻžāĻ‡āĻŸ)",
UintegerValue (1),
MakeUintegerAccessor (&TcpSocket::m_cWnd),
MakeUintegerChecker ())

āĻāĻ–āĻ¨, āĻāĻ•āĻŸāĻŋ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻ¸āĻ™ā§āĻ—ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻāĻ•āĻŸāĻŋ TcpSocket āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¯ā§‡āĻŽāĻ¨ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻāĻ‡ āĻĢāĻžāĻ‚āĻļāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ­āĻžāĻŦā§‡ āĻ¯ā§‹āĻ— āĻ¨āĻž āĻ•āĻ°ā§‡āĻ‡ āĻŽāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻĒāĻžāĻ“āĻ¯āĻŧāĻžāĨ¤
āĻ‰āĻĒāĻ°āĻ¨ā§āĻ¤ā§, āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ¯ā§‡āĻŽāĻ¨ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻĒāĻĄāĻŧāĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻāĻŦāĻ‚
āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ¨āĻ¯āĻŧ, āĻŦāĻž āĻ…āĻ¨ā§āĻŽā§‹āĻĻāĻŋāĻ¤ āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻ‰āĻĒāĻ° āĻ¸ā§€āĻŽāĻžāĻ¨āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ¨āĻ¤ā§āĻ¨ āĻļā§āĻ°ā§‡āĻŖā§€ āĻŸāĻžāĻ‡āĻĒāĻ†āĻ‡āĻĄāĻŋ
āĻāĻ–āĻžāĻ¨ā§‡, āĻ†āĻŽāĻ°āĻž āĻāĻŽāĻ¨ āĻāĻ•āĻœāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻ‰āĻĒāĻ° āĻĒā§āĻ°āĻ­āĻžāĻŦ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻŋ āĻ¯āĻŋāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨ ns-3āĨ¤ āĻ•āĻŋ
āĻāĻŸāĻŋ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋ āĻ§āĻ°ā§‡ āĻ°āĻžāĻ–āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻœāĻŋāĻ¨āĻŋāĻ¸āĻ—ā§āĻ˛āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡?

āĻāĻ° āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¨āĻ¤ā§āĻ¨ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ…āĻ¨ā§āĻŽāĻžāĻ¨ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•, āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ ns3::āĻŽāĻžāĻ‡ āĻŽā§‹āĻŦāĻŋāĻ˛āĻŋāĻŸāĻŋ, āĻ—āĻ¤āĻŋāĻļā§€āĻ˛āĻ¤āĻžāĻ° āĻŽāĻĄā§‡āĻ˛ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ•āĻžāĻ°āĨ¤ āĻĒā§āĻ°āĻĨāĻŽ,
āĻ•ā§āĻ˛āĻžāĻ¸āĻŸāĻŋ āĻ¤āĻžāĻ° āĻĒāĻŋāĻ¤āĻžāĻŽāĻžāĻ¤āĻžāĻ° āĻļā§āĻ°ā§‡āĻŖā§€ āĻĨā§‡āĻ•ā§‡ āĻ‰āĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ°āĻ¸ā§‚āĻ¤ā§āĻ°ā§‡ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ‰āĻšāĻŋāĻ¤, ns3::āĻŽā§‹āĻŦāĻŋāĻ˛āĻŋāĻŸāĻŋ āĻŽāĻĄā§‡āĻ˛āĨ¤ āĻŽāĻ§ā§āĻ¯ā§‡ my-mobility.h
āĻšā§‡āĻĄāĻžāĻ° āĻĢāĻžāĻ‡āĻ˛:

āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ ns3 {

āĻ•ā§āĻ˛āĻžāĻ¸ āĻŽāĻžāĻ‡āĻ•ā§āĻ˛āĻžāĻ¸: āĻĒāĻžāĻŦāĻ˛āĻŋāĻ• āĻŽā§‹āĻŦāĻŋāĻ˛āĻŋāĻŸāĻŋ āĻŽāĻĄā§‡āĻ˛
{

āĻāĻ‡ āĻ†āĻŽāĻ°āĻž āĻ˜ā§‹āĻˇāĻŖāĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ GetTypeId () āĻĢāĻžāĻ‚āĻļāĻ¨ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻāĻ•-āĻ˛āĻžāĻ‡āĻ¨ āĻĒāĻžāĻŦāĻ˛āĻŋāĻ• āĻĢāĻžāĻ‚āĻļāĻ¨
āĻ˜ā§‹āĻˇāĻŖāĻž:

āĻĒā§āĻ°āĻ•āĻžāĻļā§āĻ¯:
/ **
* āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨.
* \ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ TypeId āĻĢā§‡āĻ°āĻ¤ āĻĻāĻŋāĻ¨āĨ¤
*/
āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻŸāĻžāĻ‡āĻĒāĻ†āĻ‡āĻĄāĻŋ GetTypeId (āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°);

āĻ†āĻŽāĻ°āĻž āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻ•āĻŋ āĻāĻ•āĻŸāĻŋ āĻšāĻžāĻ˛ā§ āĻ•āĻ°ā§‡āĻ›āĻŋ āĻŸāĻžāĻ‡āĻĒāĻ†āĻ‡āĻĄāĻŋ āĻ¸āĻ‚āĻœā§āĻžāĻž āĻŽāĻ¤ āĻĻā§‡āĻ–āĻžāĻŦā§‡ my-mobility.cc
āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻĢāĻžāĻ‡āĻ˛:

NS_OBJECT_ENSURE_REGISTERED (āĻŽāĻžāĻ‡ āĻŽā§‹āĻŦāĻŋāĻ˛āĻŋāĻŸāĻŋ);

āĻŸāĻžāĻ‡āĻĒāĻ†āĻ‡āĻĄāĻŋ
āĻŽāĻžāĻ‡āĻŽā§‹āĻŦāĻŋāĻ˛āĻŋāĻŸāĻŋ::āĻ—ā§‡āĻŸāĻŸāĻžāĻ‡āĻĒāĻ†āĻ‡āĻĄāĻŋ (āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°)
{
āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• TypeId tid = TypeId ("ns3::MyMobility")
.SetParent ()
.SetGroupName ("āĻ—āĻ¤āĻŋāĻļā§€āĻ˛āĻ¤āĻž")
.AddConstructor ()
.AddAttribute ("āĻ¸ā§€āĻŽāĻžāĻ¨āĻž",
"āĻ•ā§āĻ°ā§āĻœ āĻāĻ˛āĻžāĻ•āĻžāĻ° āĻ¸ā§€āĻŽāĻžāĻ¨āĻžāĨ¤",
āĻ†āĻ¯āĻŧāĻ¤āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡āĻ° āĻŽāĻžāĻ¨ (āĻ†āĻ¯āĻŧāĻ¤āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ° (0.0, 0.0, 100.0, 100.0)),
MakeRectangleAccessor (&MyMobility::m_bounds),
MakeRectangleChecker ())
.AddAttribute ("āĻ¸āĻŽāĻ¯āĻŧ",
"āĻāĻ‡ āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ°āĻžāĻ¨ā§‹āĻ° āĻĒāĻ°ā§‡ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻĻāĻŋāĻ• āĻāĻŦāĻ‚ āĻ—āĻ¤āĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§āĻ¨āĨ¤",
āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻŽāĻžāĻ¨ (āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ (1.0)),
MakeTimeAccessor (&MyMobility::m_modeTime),
MakeTimeChecker ())
// āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋ (āĻ†āĻ°ā§‹ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°)āĨ¤
;
āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ tid;
}

āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ•ā§āĻ˛āĻžāĻ¸ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻžāĻŦāĻ•ā§āĻ˛āĻžāĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻ¨āĻž āĻšāĻžāĻ‡, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻšā§‡āĻĄāĻžāĻ° āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ†āĻŽāĻ°āĻž āĻ•ā§‡āĻŦāĻ˛ āĻ‰āĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ°ā§€ āĻšāĻ‡
āĻĨā§‡āĻ•ā§‡ ns3::āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ, āĻāĻŦāĻ‚ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ¯āĻžāĻ°ā§‡āĻ¨ā§āĻŸ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻŋ ns3::āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¸āĻ™ā§āĻ—ā§‡
.SetParent ().

āĻāĻ–āĻžāĻ¨ā§‡ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ­ā§āĻ˛āĻ—ā§āĻ˛āĻŋ āĻœāĻĄāĻŧāĻŋāĻ¤:

¡ āĻĄāĻžāĻ•āĻ›ā§‡ āĻ¨āĻž NS_OBJECT_ENSURE_REGISTERED ()

¡ āĻ•āĻ˛ āĻ•āĻ°āĻ›ā§‡ āĻ¨āĻž āĻ¸ā§‡āĻŸ āĻĒā§āĻ¯āĻžāĻ°ā§‡āĻ¨ā§āĻŸ () āĻĒāĻĻā§āĻ§āĻ¤āĻŋ, āĻŦāĻž āĻ­ā§āĻ˛ āĻŸāĻžāĻ‡āĻĒ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ•āĻ˛ āĻ•āĻ°āĻžāĨ¤

¡ āĻ•āĻ˛ āĻ•āĻ°āĻ›ā§‡ āĻ¨āĻž āĻ…ā§āĻ¯āĻžāĻĄāĻ•āĻ¨āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•ā§āĻŸāĻ° () āĻĒāĻĻā§āĻ§āĻ¤āĻŋ, āĻŦāĻž āĻ­ā§āĻ˛ āĻŸāĻžāĻ‡āĻĒ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ•āĻ˛ āĻ•āĻ°āĻžāĨ¤

¡ āĻāĻ° āĻ¨āĻžāĻŽā§‡ āĻāĻ•āĻŸāĻŋ āĻŸāĻžāĻ‡āĻĒā§‹āĻ—ā§āĻ°āĻžāĻĢāĻŋāĻ• āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻĒā§āĻ°āĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ āĻŸāĻžāĻ‡āĻĒāĻ†āĻ‡āĻĄāĻŋ āĻāĻ° āĻ•āĻ¨āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•ā§āĻŸāĻ°ā§‡

¡ C++ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ-āĻ¯ā§‹āĻ—ā§āĻ¯ C++ āĻŸāĻžāĻ‡āĻĒāĻ¨ā§‡āĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¨āĻž āĻ•āĻ°āĻž
āĻŸāĻžāĻ‡āĻĒāĻ†āĻ‡āĻĄāĻŋāĨ¤ āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ āĻ¯ā§‡ "ns3::" āĻĻāĻ°āĻ•āĻžāĻ°.

āĻāĻ¸āĻŦ āĻ­ā§āĻ˛ā§‡āĻ° āĻ•ā§‹āĻ¨ā§‹āĻŸāĻŋāĻ‡ āĻļāĻ¨āĻžāĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡ āĻ¨āĻž ns-3 āĻ•ā§‹āĻĄāĻŦā§‡āĻ¸, āĻ¤āĻžāĻ‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻšā§‡āĻ• āĻ•āĻ°āĻžāĻ° āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧ
āĻ¸āĻžāĻŦāĻ§āĻžāĻ¨ā§‡ āĻāĻ•āĻžāĻ§āĻŋāĻ•āĻŦāĻžāĻ° āĻ¯ā§‡ āĻ¤āĻžāĻ°āĻž āĻāĻ‡ āĻ…āĻ§āĻŋāĻ•āĻžāĻ° āĻĒā§‡āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻ¨āĻ¤ā§āĻ¨ āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻ­ā§āĻ¯āĻžāĻ˛ā§ āĻ†āĻĻāĻ°ā§āĻļ
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻĻā§ƒāĻˇā§āĻŸāĻŋāĻ•ā§‹āĻŖ āĻĨā§‡āĻ•ā§‡ āĻ¯āĻŋāĻ¨āĻŋ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ˛ā§‡āĻ–ā§‡āĻ¨ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻšāĻ¤ā§‡ āĻšāĻžāĻ¨
āĻāĻ•āĻŸāĻŋ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸āĻ¯ā§‹āĻ—ā§āĻ¯, āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻĒā§āĻ°āĻ§āĻžāĻ¨āĻ¤ āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ°āĻ—ā§āĻ˛āĻŋ āĻĨā§‡āĻ•ā§‡/āĻĨā§‡āĻ•ā§‡ āĻ˛ā§‡āĻ–āĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ā§ˇ
āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻāĻŦāĻ‚ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻŽāĻžāĻ¨. āĻāĻ° āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ—āĻ‡ āĻŽā§āĻ¯āĻžāĻ•ā§āĻ°ā§‹-āĻ†āĻ‡āĻœāĻĄ āĻ•ā§‹āĻĄ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ•āĻĒāĻŋ/āĻĒā§‡āĻ¸ā§āĻŸ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻœāĻ¨ā§āĻ¯
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ˜ā§‹āĻˇāĻŖāĻž āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°ā§āĻ¨ āĻ†āĻ¯āĻŧāĻ¤āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ src/āĻ—āĻ¤āĻŋāĻļā§€āĻ˛āĻ¤āĻž/āĻŽāĻĄā§‡āĻ˛ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ:

āĻļāĻŋāĻ°ā§‹āĻ˛ā§‡āĻ– āĻĢāĻžāĻ‡āĻ˛
/ **
* āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻāĻ•āĻŸāĻŋ 2d ​​āĻ†āĻ¯āĻŧāĻ¤āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°
*/
āĻŦāĻ°ā§āĻ— āĻ†āĻ¯āĻŧāĻ¤āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°
{
...

āĻĄāĻŦāĻ˛ xMin;
āĻĄāĻŦāĻ˛ xMax;
āĻĻā§āĻŦāĻŋāĻ—ā§āĻŖ yMin;
āĻĄāĻŦāĻ˛ yMax;
};

āĻāĻ•āĻŸāĻŋ āĻŽā§āĻ¯āĻžāĻ•ā§āĻ°ā§‹ āĻ•āĻ˛ āĻāĻŦāĻ‚ āĻĻā§āĻŸāĻŋ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°, āĻ•ā§āĻ˛āĻžāĻ¸ āĻ˜ā§‹āĻˇāĻŖāĻžāĻ° āĻ¨ā§€āĻšā§‡ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡
āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ¯ā§‹āĻ—ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻŽāĻžāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ†āĻ¯āĻŧāĻ¤āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ° āĻšāĻžāĻ˛ā§ āĻ•āĻ°ā§āĻ¨ āĻ—ā§āĻŖ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ:

std::ostream &operator << (std::ostream &os, const āĻ†āĻ¯āĻŧāĻ¤āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ° āĻāĻŦāĻ‚ āĻ†āĻ¯āĻŧāĻ¤āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°);
std::istream & operator >> (std::istream &is, āĻ†āĻ¯āĻŧāĻ¤āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ° āĻāĻŦāĻ‚ āĻ†āĻ¯āĻŧāĻ¤āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°);

ATTRIBUTE_HELPER_HEADER (āĻ†āĻ¯āĻŧāĻ¤āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°);

āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻĢāĻžāĻ‡āĻ˛
āĻļā§āĻ°ā§‡āĻŖā§€āĻ° āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧ (.cc āĻĢāĻžāĻ‡āĻ˛), āĻ•ā§‹āĻĄ āĻāĻ‡ āĻŽāĻ¤ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ:

ATTRIBUTE_HELPER_CPP (āĻ†āĻ¯āĻŧāĻ¤āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°);

std::ostream āĻāĻŦāĻ‚
āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° << (std::ostream &os, const āĻ†āĻ¯āĻŧāĻ¤āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ° āĻāĻŦāĻ‚ āĻ†āĻ¯āĻŧāĻ¤āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°)
{
os << rectangle.xMin << "|" << rectangle.xMax << "|" << rectangle.yMin << "|"
<< rectangle.yMax;
āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻ“āĻāĻ¸;
}
std::istream āĻāĻŦāĻ‚
āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° >> (std::istream &is, āĻ†āĻ¯āĻŧāĻ¤āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ° āĻāĻŦāĻ‚ āĻ†āĻ¯āĻŧāĻ¤āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°)
{
char c1, c2, c3;
āĻšāĻ˛ >> rectangle.xMin >> c1 >> rectangle.xMax >> c2 >> rectangle.yMin >> c3
>> rectangle.yMax;
āĻ¯āĻĻāĻŋ (c1 != '|' ||
c2 != '|' ||
c3 != '|')
{
is.setstate (std::ios_base::failbit);
}
āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻ¯āĻŧ;
}

āĻāĻ‡ āĻ¸ā§āĻŸā§āĻ°ā§€āĻŽ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°āĻ—ā§āĻ˛āĻŋ āĻ•ā§‡āĻŦāĻ˛ āĻ†āĻ¯āĻŧāĻ¤āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž āĻĨā§‡āĻ•ā§‡ āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻ•āĻ°ā§‡
("xMin|xMax|yMin|yMax") āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻ†āĻ¯āĻŧāĻ¤āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡āĨ¤ āĻŽāĻĄā§‡āĻ˛āĻžāĻ°āĻ•ā§‡ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻāĻ‡āĻ—ā§āĻ˛āĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡
āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° āĻāĻŦāĻ‚ āĻ¨āĻ¤ā§āĻ¨ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻ¸āĻŋāĻ¨āĻŸā§āĻ¯āĻžāĻ•ā§āĻŸāĻŋāĻ•ā§āĻ¯āĻžāĻ˛ āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĨ¤

āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°āĻ¸ā§āĻŸā§‹āĻ°
āĻœāĻ¨ā§āĻ¯ āĻŽāĻžāĻ¨ ns-3 āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋ āĻāĻ•āĻŸāĻŋ ASCII āĻŦāĻž XML āĻŸā§‡āĻ•ā§āĻ¸āĻŸ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŦāĻ‚ a āĻ āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ­āĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§‡āĻ° āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ°āĻžāĻ¨āĨ¤ āĻāĻ‡ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ ns-3 āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°āĻ¸ā§āĻŸā§‹āĻ°āĨ¤ āĻĻā§āĻ¯ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°āĻ¸ā§āĻŸā§‹āĻ° is
āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻŽāĻžāĻ¨ āĻāĻŦāĻ‚ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻļā§‡āĻˇ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸āĨ¤

āĻ¯āĻĻāĻŋāĻ“ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§ƒāĻĨāĻ•āĻ­āĻžāĻŦā§‡ āĻ°āĻ•ā§āĻˇāĻŖāĻžāĻŦā§‡āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻŽāĻĄāĻŋāĻ‰āĻ˛ src/config-store/ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ, āĻ†āĻŽāĻ°āĻž
āĻāĻ° āĻāĻ•āĻŽāĻžāĻ¤ā§āĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻžāĻ° āĻ•āĻžāĻ°āĻŖā§‡ āĻāĻŸāĻŋ āĻāĻ–āĻžāĻ¨ā§‡ āĻ¨āĻĨāĻŋāĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§āĻ¨ ns-3 āĻŽā§‚āĻ˛ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻāĻŦāĻ‚ āĻ—ā§āĻŖāĻžāĻŦāĻ˛ā§€āĨ¤

āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ†āĻŽāĻ°āĻž āĻāĻ‡ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻŸāĻŋ āĻ…āĻ¨ā§āĻŦā§‡āĻˇāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ
src/config-store/examples/config-store-save.cc.

āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°āĻ¸ā§āĻŸā§‹āĻ° āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻŦāĻŋāĻŦā§ƒāĻ¤āĻŋ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻ†āĻŦāĻļā§āĻ¯āĻ•:

# "ns3/config-store-module.h" āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§āĻ¨

āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€, āĻāĻ‡ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŽā§āĻ¨āĻž āĻŦāĻ¸ā§āĻ¤ā§ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡ ConfigExample āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻŸāĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻ¤āĻž āĻĻā§‡āĻ–āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯:

āĻ•ā§āĻ˛āĻžāĻ¸ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ: āĻĒāĻžāĻŦāĻ˛āĻŋāĻ• āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ
{
āĻĒā§āĻ°āĻ•āĻžāĻļā§āĻ¯:
āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻŸāĻžāĻ‡āĻĒāĻ†āĻ‡āĻĄāĻŋ GetTypeId (āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°) {
āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• TypeId tid = TypeId ("ns3::A")
.SetParent ()
.AddAttribute ("TestInt16", "āĻ¸āĻšāĻžāĻ¯āĻŧāĻ¤āĻž āĻĒāĻžāĻ ā§āĻ¯",
IntegerValue (-2),
MakeIntegerAccessor (&A::m_int16),
MakeIntegerChecker ())
;
āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ tid;
}
int16_t m_int16;
};

NS_OBJECT_ENSURE_REGISTERED (ConfigExample);

āĻāĻ°āĻĒāĻ°ā§‡, āĻ†āĻŽāĻ°āĻž āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻ¯āĻŧā§‡ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻ“āĻ­āĻžāĻ°āĻ°āĻžāĻ‡āĻĄ āĻ•āĻ°āĻ¤ā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ— āĻ¸āĻžāĻŦāĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋ:

Config::SetDefault ("ns3::ConfigExample::TestInt16", IntegerValue (-5));

Ptr a_obj = CreateObject ();
NS_ABORT_MSG_UNLESS (a_obj->m_int16 == -5,
"ConfigExample āĻāĻ° āĻĒā§‚āĻ°ā§āĻŖāĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ Config::SetDefault āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻ¯āĻžāĻŦā§‡ āĻ¨āĻž");

Ptr a2_obj = CreateObject ();
a2_obj->SetAttribute ("TestInt16", IntegerValue (-3));
IntegerValue iv;
a2_obj->GetAttribute ("TestInt16", iv);
NS_ABORT_MSG_UNLESS (iv. āĻĒāĻžāĻ¨ () == -3,
"SetAttribute āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ ConfigExample āĻāĻ° āĻĒā§‚āĻ°ā§āĻŖāĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻ¯āĻžāĻŦā§‡ āĻ¨āĻž");

āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻŦāĻŋāĻŦā§ƒāĻ¤āĻŋāĻŸāĻŋ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¯ā§‡ (āĻāĻ•āĻŸāĻŋ) āĻŦāĻ¸ā§āĻ¤ā§āĻŸāĻŋ āĻ°ā§āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
āĻāĻ•āĻŸāĻŋ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§‡āĨ¤ āĻāĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ˜āĻŸā§‡ āĻ¯āĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻŋ
āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ¸āĻŽāĻˇā§āĻŸāĻŋ a ns3::āĻ¨ā§‹āĻĄ or ns3::āĻšā§āĻ¯āĻžāĻ¨ā§‡āĻ˛ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ–āĻžāĻ¨ā§‡, āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ†āĻŽāĻ°āĻž āĻ•āĻžāĻœ āĻ•āĻ°āĻ›āĻŋ
āĻŽā§‚āĻ˛ āĻ¸ā§āĻ¤āĻ°ā§‡, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ°ā§āĻŸ āĻ¨ā§‡āĻŽāĻ¸ā§āĻĒā§‡āĻ¸ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡:

Config::RegisterRootNamespaceObject (a2_obj);

āĻ˛ā§‡āĻ–āĻž
āĻāĻ° āĻĒāĻ°ā§‡, āĻ†āĻŽāĻ°āĻž āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¸ā§āĻŸā§‹āĻ° āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ—ā§āĻ˛āĻŋ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻāĻŸāĻŋ āĻĻā§āĻŸāĻŋāĻ¤ā§‡ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ
āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸, XML āĻāĻŦāĻ‚ āĻ•āĻžāĻāĻšāĻž āĻĒāĻžāĻ ā§āĻ¯āĨ¤ āĻ…āĻ¨ā§āĻļā§€āĻ˛āĻ¨ā§‡, āĻ•āĻ˛ āĻ•āĻ°āĻžāĻ° āĻ āĻŋāĻ• āĻ†āĻ—ā§‡ āĻāĻ‡ āĻĒāĻĻāĻ•ā§āĻˇā§‡āĻĒāĻŸāĻŋ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°::āĻšāĻžāĻ˛āĻžāĻ¨ () āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻ āĻŋāĻ• āĻ†āĻ—ā§‡ āĻšā§‚āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻ¤ā§‡āĨ¤

āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻ° āĻ†āĻšāĻ°āĻŖ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ•āĻ°ā§‡ āĻāĻŽāĻ¨ āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡: "āĻŽā§‹āĻĄ",
"āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ", āĻāĻŦāĻ‚ "āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸". āĻŽā§‹āĻĄ (āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ "āĻ•āĻŋāĻ›ā§āĻ‡ āĻ¨āĻž") āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°ā§‡ āĻ•āĻŋāĻ¨āĻž ns-3 āĻ‰āĻšāĻŋāĻ¤
āĻĒā§‚āĻ°ā§āĻŦā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŋāĻ¤ āĻĢāĻžāĻ‡āĻ˛ āĻĨā§‡āĻ•ā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ˛ā§‹āĻĄ āĻ•āĻ°ā§āĻ¨ (āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°ā§āĻ¨ "āĻŽā§‹āĻĄ = āĻ˛ā§‹āĻĄ") āĻŦāĻž āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§āĻ¨
(āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°ā§āĻ¨ "āĻŽā§‹āĻĄ = āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§āĻ¨") āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ (āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ "") āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ ConfigStore āĻĒāĻĄāĻŧāĻž āĻ‰āĻšāĻŋāĻ¤ āĻŦāĻž
āĻ¤āĻžāĻ° āĻ¤āĻĨā§āĻ¯ āĻ˛āĻŋāĻ–ā§āĻ¨āĨ¤ āĻĢāĻžāĻ‡āĻ˛ āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻŸ (āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ "āĻ•āĻžāĻāĻšāĻž āĻ˛ā§‡āĻ–āĻž") ConfigStore āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ•āĻ°ā§‡
āĻĒā§āĻ˛ā§‡āĻ‡āĻ¨ āĻŸā§‡āĻ•ā§āĻ¸āĻŸ āĻŦāĻž āĻāĻ•ā§āĻ¸āĻāĻŽāĻāĻ˛ ("āĻĢāĻžāĻ‡āĻ˛ āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻŸ = Xml")

āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ:

Config::SetDefault ("ns3::ConfigStore::Filename", StringValue ("output-attributes.xml"));
Config::SetDefault ("ns3::ConfigStore::FileFormat", StringValue ("Xml"));
Config::SetDefault ("ns3::ConfigStore::Mode", StringValue ("Save"));
ConfigStore outputConfig;
outputConfig.ConfigureDefaults ();
outputConfig.ConfigureAttributes ();

// txt āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻŸā§‡ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ¸ā§āĻŸā§‹āĻ°
Config::SetDefault ("ns3::ConfigStore::Filename", StringValue ("output-attributes.txt"));
Config::SetDefault ("ns3::ConfigStore::FileFormat", StringValue ("RawText"));
Config::SetDefault ("ns3::ConfigStore::Mode", StringValue ("Save"));
ConfigStore outputConfig2;
outputConfig2.ConfigureDefaults ();
outputConfig2.ConfigureAttributes();

āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°::āĻ°āĻžāĻ¨ ();

āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°::āĻ§ā§āĻŦāĻ‚āĻ¸ ();

āĻ āĻŋāĻ• āĻ†āĻ—ā§‡ āĻāĻ‡ āĻŦāĻŋāĻŦā§ƒāĻ¤āĻŋ āĻŦāĻ¸āĻžāĻ¨ā§‹ āĻ¨ā§‹āĻŸ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°::āĻšāĻžāĻ˛āĻžāĻ¨ () āĻŦāĻŋāĻŦā§ƒāĻ¤āĻŋāĨ¤
āĻāĻ‡ āĻ†āĻ‰āĻŸāĻĒā§āĻŸāĻŸāĻŋ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻļā§āĻ°ā§ āĻ•āĻ°āĻžāĻ° āĻ āĻŋāĻ• āĻ†āĻ—ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŽāĻžāĻ¨ āĻ˛āĻ— āĻ•āĻ°ā§‡ (āĻ…āĻ°ā§āĻĨāĻžāĻ¤.
āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¸āĻžā§āĻšāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻĒāĻ°ā§‡)āĨ¤

āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻĒāĻ°ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻ–ā§āĻ˛āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ output-attributes.txt āĻĢāĻžāĻ‡āĻ˛ āĻāĻŦāĻ‚ āĻĻā§‡āĻ–ā§āĻ¨:

āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ ns3::RealtimeSimulatorImpl::SynchronizationMode "BestEffort"
āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ ns3::RealtimeSimulatorImpl::HardLimit "+100000000.0ns"
āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ ns3::PcapFileWrapper::CaptureSize "65535"
āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ ns3::PacketSocket::RcvBufSize "131072"
āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ ns3::ErrorModel::IsEnabled "true"
āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ ns3::RateErrorModel::ErrorUnit "EU_BYTE"
āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ ns3::RateErrorModel::ErrorRate "0"
āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ ns3::RateErrorModel::RanVar "Uniform:0:1"
āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ ns3::DropTailQueue::āĻŽā§‹āĻĄ "āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ"
āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ ns3::DropTailQueue::MaxPackets "100"
āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ ns3::DropTailQueue::MaxBytes "6553500"
āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ ns3::Application::StartTime "+0.0ns"
āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ ns3::Application::StopTime "+0.0ns"
āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ ns3::ConfigStore::āĻŽā§‹āĻĄ "āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§āĻ¨"
āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ ns3::ConfigStore::āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ "output-attributes.txt"
āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ ns3::ConfigStore::FileFormat "RawText"
āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ ns3::ConfigExample::TestInt16 "-5"
āĻ—ā§āĻ˛ā§‹āĻŦāĻžāĻ˛ RngSeed "1"
āĻŦāĻŋāĻļā§āĻŦāĻŦā§āĻ¯āĻžāĻĒā§€ RngRun "1"
āĻ—ā§āĻ˛ā§‹āĻŦāĻžāĻ˛ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻ‡āĻŽāĻĒā§āĻ˛āĻŋāĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻŸāĻžāĻ‡āĻĒ "ns3::DefaultSimulatorImpl"
āĻ—ā§āĻ˛ā§‹āĻŦāĻžāĻ˛ āĻļāĻŋāĻĄāĻŋāĻ‰āĻ˛āĻžāĻ° āĻŸāĻžāĻ‡āĻĒ "ns3::MapScheduler"
āĻŦāĻŋāĻļā§āĻŦāĻŦā§āĻ¯āĻžāĻĒā§€ āĻšā§‡āĻ•āĻ¸āĻžāĻŽ āĻ¸āĻ•ā§āĻˇāĻŽ "āĻŽāĻŋāĻĨā§āĻ¯āĻž"
āĻŽāĻžāĻ¨ /$ns3::ConfigExample/TestInt16 "-3"

āĻ‰āĻĒāĻ°ā§‡, āĻŽā§‚āĻ˛ āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡āĻ° āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŽāĻžāĻ¨ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
āĻ¤āĻžāĻ°āĻĒāĻ°, āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŦ āĻŽāĻžāĻ¨ ns-3 āĻŦāĻŋāĻļā§āĻŦāĻŦā§āĻ¯āĻžāĻĒā§€ āĻŽāĻžāĻ¨ āĻ°ā§‡āĻ•āĻ°ā§āĻĄ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ…āĻŦāĻļā§‡āĻˇā§‡, āĻŽāĻžāĻ¨
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ ConfigExample āĻ¯ā§‡āĻŸāĻŋ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡ āĻ°ā§āĻŸ āĻ•āĻ°āĻž āĻ›āĻŋāĻ˛ āĻ¨ā§‡āĻŽāĻ¸ā§āĻĒā§‡āĻ¸ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ
āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ ns-3 āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ, āĻ†āĻ°āĻ“ āĻ…āĻ¨ā§‡āĻ• āĻŽāĻĄā§‡āĻ˛, āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻāĻŦāĻ‚ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹ āĻšāĻŦā§‡āĨ¤

āĻāĻ•āĻŸāĻŋ XML āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ output-attributes.xml:




























āĻāĻ‡ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻāĻŦāĻ‚ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĄā§‡āĻŸāĻž āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ†āĻ°ā§āĻ•āĻžāĻ‡āĻ­ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻĒāĻĄāĻŧāĻž
āĻāĻ° āĻĒāĻ°ā§‡, āĻ†āĻŽāĻ°āĻž āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§‡ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻŋ āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŋāĻ¤ āĻ‡āĻ¨āĻĒā§āĻŸ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĢāĻžāĻ‡āĻ˛āĨ¤ āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡
āĻšā§‚āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ˛ā§‡āĻ–āĻžāĻ° āĻ¤ā§āĻ˛āĻ¨āĻžāĻ¯āĻŧ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻŽā§‚āĻ˛ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯āĨ¤
āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡āĻ° āĻļā§āĻ°ā§āĻ¤ā§‡, āĻ†āĻ—ā§‡ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ¸ā§āĻŸā§‡āĻŸāĻŽā§‡āĻ¨ā§āĻŸ āĻ°āĻžāĻ–āĻ¤ā§‡ āĻšāĻŦā§‡
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¸ā§āĻŸā§‡āĻŸāĻŽā§‡āĻ¨ā§āĻŸ āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧ (āĻ¤āĻžāĻ‡ āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻ†āĻ—ā§‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŋāĻ¤ āĻšāĻ¯āĻŧ
āĻŦāĻ¸ā§āĻ¤ā§ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧ)āĨ¤

Config::SetDefault ("ns3::ConfigStore::Filename", StringValue ("input-defaults.xml"));
Config::SetDefault ("ns3::ConfigStore::Mode", StringValue ("Load"));
Config::SetDefault ("ns3::ConfigStore::FileFormat", StringValue ("Xml"));
ConfigStore inputConfig;
inputConfig.ConfigureDefaults ();

āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€, āĻ¨ā§‹āĻŸ āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡ āĻ‡āĻ¨āĻĒā§āĻŸ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĄā§‡āĻŸāĻž āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸā§‡ āĻ¸ā§€āĻŽāĻžāĻŦāĻĻā§āĻ§ (āĻ…āĻ°ā§āĻĨāĻžāĻ¤.
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¨āĻ¯āĻŧ) āĻŽāĻžāĻ¨, āĻāĻŦāĻ‚ āĻŦā§ˆāĻļā§āĻŦāĻŋāĻ• āĻŽāĻžāĻ¨āĨ¤ āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻ‡āĻ¨āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻ¸ āĻŽāĻžāĻ¨ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ āĻ¨āĻ¯āĻŧ
āĻ•āĻžāĻ°āĻŖ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ā§‡āĻ° āĻāĻ‡ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧā§‡, āĻ•ā§‹āĻ¨ā§‹ āĻŦāĻ¸ā§āĻ¤ā§ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖā§‡āĻ° āĻ†āĻ—ā§‡, āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ¨ā§‡āĻ‡
āĻšāĻžāĻ°āĻĒāĻžāĻļā§‡ āĻ¯ā§‡āĻŽāĻ¨ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻĻā§ƒāĻˇā§āĻŸāĻžāĻ¨ā§āĻ¤āĨ¤ (āĻĻā§āĻ°āĻˇā§āĻŸāĻŦā§āĻ¯, āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻ° āĻ­āĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§‡āĻ° āĻ‰āĻ¨ā§āĻ¨āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻāĻ‡ āĻ†āĻšāĻ°āĻŖ)āĨ¤

āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ, āĻ¯āĻ–āĻ¨ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°āĻ¸ā§āĻŸā§‹āĻ° āĻ°āĻžāĻˇā§āĻŸā§āĻ° āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻŦā§‡,
āĻ‡āĻ¨āĻĒā§āĻŸ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ“āĻ­āĻžāĻ°āĻ°āĻžāĻ‡āĻĄ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻŽāĻžāĻ¨ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ¸ā§āĻ¤āĻ°āĻžāĻ‚, āĻāĻ• āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°
āĻ‡āĻ¨āĻĒā§āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ‡ āĻ•ā§āĻ˛āĻžāĻ¸āĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧ
āĻ†āĻ‰āĻŸāĻĒā§āĻŸ ("āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ") "āĻŽā§‹āĻĄ" āĻ‰āĻĒāĻ°ā§‡ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¸ā§‡āĻ‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĢāĻžāĻ‡āĻ˛ āĻĨā§‡āĻ•ā§‡ āĻāĻ•ā§āĻ¸āĻŸā§āĻ°ā§āĻ¯āĻžāĻ•ā§āĻŸ āĻ•āĻ°ā§āĻ¨
āĻ¯ā§‡ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻāĻ•āĻœāĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¯āĻŧ, āĻāĻŦāĻ‚ āĻāĻ‡ āĻ¨ā§āĻ¯ā§‚āĻ¨āĻ¤āĻŽ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ¸āĻ°āĻžāĻ¤ā§‡ āĻšāĻžāĻ¯āĻŧ
āĻ¯āĻž āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€āĻ¤ā§‡ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ°āĻžāĻ¨ā§‡ āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻā§‡ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻāĻŦāĻ‚ āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ¯āĻ–āĻ¨ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°āĻ¸ā§āĻŸā§‹āĻ° āĻŦāĻ¸ā§āĻ¤ā§ āĻ¤āĻžāĻ¤ā§āĻ•ā§āĻˇāĻŖāĻŋāĻ• āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻ° āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ "āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ", "āĻŽā§‹āĻĄ", āĻāĻŦāĻ‚
"āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸" āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻ†āĻŦāĻļā§āĻ¯āĻ•, āĻšāĻ¯āĻŧ āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻ‡āĻ¨ āĻŦāĻž āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻŦāĻŋāĻŦā§ƒāĻ¤āĻŋāĨ¤

āĻĒāĻĄāĻŧāĻž āĻ˛ā§‡āĻ–āĻž āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ
āĻ†āĻ°āĻ“ āĻœāĻŸāĻŋāĻ˛ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻŋāĻ¸āĻžāĻŦā§‡, āĻ§āĻ°āĻž āĻ¯āĻžāĻ• āĻ¯ā§‡ āĻ†āĻŽāĻ°āĻž āĻāĻ° āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡ āĻĒāĻĄāĻŧāĻ¤ā§‡ āĻšāĻžāĻ‡
āĻ¨āĻžāĻŽā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ‡āĻ¨āĻĒā§āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻĨā§‡āĻ•ā§‡ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ input-defaults.xml, āĻāĻŦāĻ‚ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ˛āĻŋāĻ–ā§āĻ¨
āĻ¨āĻžāĻŽāĻ• āĻāĻ•āĻŸāĻŋ āĻĒā§ƒāĻĨāĻ• āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ output-attributes.xml.:

# "ns3/config-store-module.h" āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§āĻ¨
...
int āĻĒā§āĻ°āĻ§āĻžāĻ¨ (...)
{

Config::SetDefault ("ns3::ConfigStore::Filename", StringValue ("input-defaults.xml"));
Config::SetDefault ("ns3::ConfigStore::Mode", StringValue ("Load"));
Config::SetDefault ("ns3::ConfigStore::FileFormat", StringValue ("Xml"));
ConfigStore inputConfig;
inputConfig.ConfigureDefaults ();

//
// āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ•ā§‡ āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻāĻŦāĻ‚ āĻ‰āĻĒāĻ°ā§‡āĻ° Bind () āĻ āĻ“āĻ­āĻžāĻ°āĻ°āĻžāĻ‡āĻĄ āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻāĻŋāĻ¨
// āĻ°āĻžāĻ¨-āĻŸāĻžāĻ‡āĻŽ, viacommand-line āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ
//
āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ‡āĻ¨ cmd;
cmd.Parse (argc, argv);

// āĻ¸ā§‡āĻŸāĻ†āĻĒ āĻŸāĻĒā§‹āĻ˛āĻœāĻŋ
...

// āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡ āĻĒā§āĻ°āĻŦā§‡āĻļā§‡āĻ° āĻ āĻŋāĻ• āĻ†āĻ—ā§‡ āĻ†āĻšā§āĻŦāĻžāĻ¨ āĻ•āĻ°ā§āĻ¨::āĻšāĻžāĻ˛āĻžāĻ¨ ()
Config::SetDefault ("ns3::ConfigStore::Filename", StringValue ("output-attributes.xml"));
Config::SetDefault ("ns3::ConfigStore::Mode", StringValue ("Save"));
ConfigStore outputConfig;
outputConfig.ConfigureAttributes ();
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°::āĻ°āĻžāĻ¨ ();
}

āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°āĻ¸ā§āĻŸā§‹āĻ° āĻ—ā§āĻ‡
ConfigStore āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ GTK-āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ• āĻĢā§āĻ°āĻ¨ā§āĻŸ āĻāĻ¨ā§āĻĄ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻāĻ•āĻŸāĻŋ GUI āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧ
āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻāĻŦāĻ‚ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨. āĻāĻ‡ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ā§‡āĻ° āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻ¨āĻļāĻŸ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧ |ns3|
āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻŦāĻŋāĻŦāĻ°āĻŖ āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĨ¤

āĻāĻ‡ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡, āĻāĻ•āĻœāĻ¨āĻ•ā§‡ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ libgtk āĻāĻŦāĻ‚ libgtk-dev; āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ‰āĻŦā§āĻ¨ā§āĻŸā§
āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻšāĻ˛:

$ sudo apt-get install libgtk2.0-0 libgtk2.0-dev

āĻāĻŸāĻŋ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡, āĻ§āĻžāĻĒā§‡āĻ° āĻ†āĻ‰āĻŸāĻĒā§āĻŸāĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§āĻ¨:

$ ./waf āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° --enable-examples --enable-tests

---- āĻāĻšā§āĻ›āĻŋāĻ• NS-3 āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ā§‡āĻ° āĻ¸āĻžāĻ°āĻžāĻ‚āĻļ:
āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚: āĻ¸āĻ•ā§āĻˇāĻŽ
āĻĒāĻžāĻ‡āĻĨāĻ¨ API āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ¨āĻŋāĻ‚ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨: āĻ¸āĻ•ā§āĻˇāĻŽ
NS-3 āĻ•ā§āĻ˛āĻŋāĻ• āĻ‡āĻ¨ā§āĻŸāĻŋāĻ—ā§āĻ°ā§‡āĻļāĻ¨: āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ
GtkConfigStore : āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ (āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ 'gtk+-2.0 >= 2.12' āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧāĻ¨āĻŋ)

āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡, āĻāĻŸāĻŋ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ, āĻ¤āĻžāĻ‡ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ¨āĻž āĻšāĻ“āĻ¯āĻŧāĻž āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯āĻžāĻŦā§‡ āĻ¨āĻž
āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻāĻŦāĻ‚:

$ ./waf āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° --enable-examples --enable-tests
$./waf

āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧ

āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻ¨āĻ¨-GTK-āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ• āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡āĻ° āĻŽāĻ¤ā§‹, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¨ā§‡āĻ‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°āĻ¸ā§āĻŸā§‹āĻ°
āĻœāĻĄāĻŧāĻŋāĻ¤ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯:

// āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡ āĻĒā§āĻ°āĻŦā§‡āĻļā§‡āĻ° āĻ āĻŋāĻ• āĻ†āĻ—ā§‡ āĻ†āĻšā§āĻŦāĻžāĻ¨ āĻ•āĻ°ā§āĻ¨::āĻšāĻžāĻ˛āĻžāĻ¨ ()
GtkConfigStore āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨;
config.ConfigureDefaults ();
config.ConfigureAttributes ();

āĻāĻ–āĻ¨, āĻ¯āĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻŋ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻšāĻžāĻ˛āĻžāĻ¨, āĻāĻ•āĻŸāĻŋ GUI āĻĒāĻĒ āĻ†āĻĒ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤, āĻ¯āĻž āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻ° āĻŽā§‡āĻ¨ā§ āĻ–ā§āĻ˛āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ
āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ¨ā§‹āĻĄ/āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āĻ° āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋ, āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻ¯āĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻļāĻ¨ āĻšāĻžāĻ˛ā§ āĻ•āĻ°ā§āĻ¨
āĻ¸āĻŽāĻžāĻĒā§āĻ¤ āĻšāĻ˛.

āĻ­āĻŦāĻŋāĻˇā§āĻ¯ā§Ž āĻ•āĻžāĻœ
āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ¸āĻŽā§āĻ­āĻžāĻŦā§āĻ¯ āĻ‰āĻ¨ā§āĻ¨āĻ¤āĻŋ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:

¡ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻļā§āĻ°ā§āĻ¤ā§‡ āĻ¤āĻžāĻ°āĻŋāĻ– āĻāĻŦāĻ‚ āĻ¸āĻŽāĻ¯āĻŧ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨āĻ¨ā§āĻ¯ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ¨āĻŽā§āĻŦāĻ° āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§āĻ¨āĨ¤

rng āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻŦā§€āĻœ āĻ•ā§‹āĻĨāĻžāĻ“ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§āĻ¨āĨ¤

¡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽāĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛āĻ•ā§‡ āĻ¤āĻžāĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻŦā§€āĻœ āĻ•ā§āĻ°āĻŽāĻŋāĻ• āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻĒāĻ°ā§‡ āĻāĻŸāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻĒāĻĄāĻŧā§āĻ¨āĨ¤

āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ āĻ¨āĻžāĻŽ
āĻĒā§āĻ˛ā§‡āĻ¸āĻšā§‹āĻ˛ā§āĻĄāĻžāĻ° āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ

āĻ˛āĻ—āĻŋāĻ‚
āĻ¸āĻžāĻ°ā§āĻœāĻžāĻ°āĻŋāĻ° ns-3 āĻ˛āĻ—āĻŋāĻ‚ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ā§‡āĻ° āĻ…āĻ—ā§āĻ°āĻ—āĻ¤āĻŋ āĻ¨āĻŋāĻ°ā§€āĻ•ā§āĻˇāĻŖ āĻŦāĻž āĻĄāĻŋāĻŦāĻžāĻ— āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻ˛āĻ—āĻŋāĻ‚ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻŦāĻŋāĻŦā§ƒāĻ¤āĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻĒā§āĻ°āĻ§āĻžāĻ¨ () āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻŦāĻž
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ NS_LOG āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻ¸ā§‚āĻšāĻ•.

āĻ˛āĻ—āĻŋāĻ‚ āĻŦāĻŋāĻŦā§ƒāĻ¤āĻŋ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°āĻž āĻŦāĻŋāĻ˛ā§āĻĄā§‡ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻž ns-3. āĻ˛āĻ—āĻŋāĻ‚ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡, āĻāĻ•
āĻāĻ° (āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ) āĻĄāĻŋāĻŦāĻžāĻ— āĻŦāĻŋāĻ˛ā§āĻĄ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ ns-3.

āĻ˛āĻ—āĻŋāĻ‚ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻāĻ•āĻ‡ āĻĨāĻžāĻ•āĻŦā§‡ āĻ•āĻŋāĻ¨āĻž āĻ¸ā§‡ āĻŦāĻŋāĻˇāĻ¯āĻŧā§‡ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒāĻŸāĻŋ āĻ•ā§‹āĻ¨ āĻ—ā§āĻ¯āĻžāĻ°āĻžāĻ¨ā§āĻŸāĻŋ āĻĻā§‡āĻ¯āĻŧ āĻ¨āĻž
āĻ¸āĻŽāĻ¯āĻŧ āĻ˛āĻ—āĻŋāĻ‚ āĻāĻ° āĻ‰āĻĒāĻ°ā§‡ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻŦāĻŋāĻ°ā§āĻĻā§āĻ§ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻ¸āĻ¤āĻ°ā§āĻ• āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻ•ā§‹āĻĄ, āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻāĻŦāĻ‚ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻžāĻ° āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻŦāĻŋāĻŦāĻ°āĻŖ
ns-3 āĻ˛āĻ—āĻŋāĻ‚ āĻ¸ā§āĻŸā§‡āĻŸāĻŽā§‡āĻ¨ā§āĻŸāĻ—ā§āĻ˛āĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻļāĻ¨ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻ˛āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧ, āĻ¯ā§‡āĻŽāĻ¨
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻ˜āĻŸāĻ¨āĻž āĻŦāĻž āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§‡āĨ¤

āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻāĻ‡ āĻ•ā§‹āĻĄ āĻ¸ā§āĻ¨āĻŋāĻĒā§‡āĻŸ āĻĨā§‡āĻ•ā§‡ Ipv4L3Protocol::IsDestinationAddress():

āĻ¯āĻĻāĻŋ (āĻ āĻŋāĻ•āĻžāĻ¨āĻž == iaddr.GetBroadcast ())
{
NS_LOG_LOGIC ("āĻ†āĻŽāĻžāĻ° āĻœāĻ¨ā§āĻ¯ (āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻ¸āĻŽā§āĻĒā§āĻ°āĻšāĻžāĻ° āĻ āĻŋāĻ•āĻžāĻ¨āĻž)");
āĻ¸āĻ¤ā§āĻ¯ āĻĢāĻŋāĻ°ā§‡ āĻ†āĻ¸āĻž;
}

āĻ˛āĻ—āĻŋāĻ‚ āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ Ipv4L3 āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻāĻ° āĻ¤ā§€āĻŦā§āĻ°āĻ¤āĻžāĻ¯āĻŧ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻŦāĻŋāĻĻā§āĻ¯āĻž or
āĻ‰āĻĒāĻ°ā§‡ (āĻ˛āĻ—ā§‡āĻ° āĻ¤ā§€āĻŦā§āĻ°āĻ¤āĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¨ā§€āĻšā§‡ āĻĻā§‡āĻ–ā§āĻ¨), āĻŦāĻŋāĻŦā§ƒāĻ¤āĻŋāĻŸāĻŋ āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ āĻ•āĻ°āĻž āĻšāĻŦā§‡; āĻ…āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ, āĻāĻŸāĻž
āĻĻāĻŽāĻ¨ āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤

āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻž āĻšāĻ˛ā§‡ āĻ¤āĻž āĻ†āĻ‰āĻŸāĻĒā§āĻŸ
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ˛āĻ— āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ•āĻ°ā§‡ āĻāĻŽāĻ¨ āĻĻā§āĻŸāĻŋ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻĒā§āĻ°āĻĨāĻŽāĻŸāĻŋ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§‡
NS_LOG āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻ¸ā§‚āĻšāĻ•; āĻ¯ā§‡āĻŽāĻ¨:

$NS_LOG="*" ./waf --āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻšāĻžāĻ˛āĻžāĻ¨

āĻšāĻžāĻ˛āĻžāĻŦā§‡ āĻĒā§āĻ°āĻĨāĻŽ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ˛āĻ—āĻŋāĻ‚ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¸āĻš āĻŸāĻŋāĻ‰āĻŸā§‹āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĨ¤ (āĻāĻ° āĻŦāĻŋāĻļā§‡āĻˇāĻ¤ā§āĻŦ NS_LOG
āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻ¨ā§€āĻšā§‡ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻŦā§‡.)

āĻĒā§ƒāĻĨāĻ• āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°ā§‡ āĻāĻŸāĻŋ āĻ†āĻ°āĻ“ āĻĻāĻžāĻ¨āĻžāĻĻāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡:

$ NS_LOG="Ipv4L3Protocol" ./waf --āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻšāĻžāĻ˛āĻžāĻ¨ā§ˇ

āĻ†āĻ‰āĻŸāĻĒā§āĻŸāĻŸāĻŋ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ— āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ†āĻ°āĻ“ āĻ‰āĻĒāĻ¯ā§‹āĻ—ā§€ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ˛āĻ—āĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻžāĻ° āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻšāĻ˛ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡ āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻŦāĻŋāĻŦā§ƒāĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž, āĻ¯ā§‡āĻŽāĻ¨ in
āĻĻā§āĻ¯ āĻĒā§āĻ°āĻĨāĻŽ āĻŸāĻŋāĻ‰āĻŸā§‹āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ:

āĻ•ā§‹āĻ¨ int
āĻĒā§āĻ°āĻ§āĻžāĻ¨ (int argc, char *argv[])
{
LogComponentEnable ("UdpEchoClientApplication", LOG_LEVEL_INFO);
LogComponentEnable ("UdpEchoServerApplication", LOG_LEVEL_INFO);
...

(āĻ…āĻ°ā§āĻĨ LOG_LEVEL_INFO, āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ¸āĻŽā§āĻ­āĻžāĻŦā§āĻ¯ āĻŽāĻžāĻ¨, āĻ¨ā§€āĻšā§‡ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤)

NS_LOG āĻŦāĻžāĻ•ā§āĻ¯ āĻ—āĻ āĻ¨
āĻ¸āĻžāĻ°ā§āĻœāĻžāĻ°āĻŋāĻ° NS_LOG āĻāĻ¨āĻ­āĻžāĻ¯āĻŧāĻ°āĻ¨āĻŽā§‡āĻ¨ā§āĻŸ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡ āĻ˛āĻ— āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻāĻŦāĻ‚ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ˛āĻ—
āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ `:' āĻ…āĻ•ā§āĻˇāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§ƒāĻĨāĻ• āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ:

$ NS_LOG=" : ..."

āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ˛āĻ— āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ˛āĻ— āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ā§‡āĻ° āĻĒāĻ°ā§‡ āĻĒāĻ¤āĻžāĻ•āĻž āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧ:

$ NS_LOG=" = | ...: ..."

āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋ āĻ¸ā§‡āĻ‡ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻŸāĻŋāĻ° āĻ¤ā§€āĻŦā§āĻ°āĻ¤āĻž āĻāĻŦāĻ‚ āĻ¸ā§āĻ¤āĻ° āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻāĻšā§āĻ›āĻŋāĻ• āĻ•āĻŋāĻ¨āĻž
āĻ¤āĻĨā§āĻ¯ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤, āĻ¯ā§‡āĻŽāĻ¨ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ¸āĻŽāĻ¯āĻŧ, āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ¨ā§‹āĻĄ, āĻĢāĻžāĻ‚āĻļāĻ¨
āĻ¨āĻžāĻŽ, āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¤ā§€āĻ•ā§€ āĻ¤ā§€āĻŦā§āĻ°āĻ¤āĻžāĨ¤

āĻ˛āĻ—āĻŋāĻ¨ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨
āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻ•āĻŸāĻŋ āĻ˛āĻ— āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻ‰āĻ¤ā§āĻ¸ āĻ•ā§‹āĻĄ āĻŦā§‹āĻāĻžāĻ¯āĻŧ .cc āĻĢāĻžāĻ‡āĻ˛, āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§‡
āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻĢāĻžāĻ‡āĻ˛āĨ¤

āĻ•āĻŋāĻ›ā§ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€āĻ° āĻāĻ•āĻŸāĻŋ āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ˛āĻ—āĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻŋāĻļā§‡āĻˇ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡,
āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ¸āĻ‚āĻ•āĻ˛āĻ¨ āĻ‡āĻ‰āĻ¨āĻŋāĻŸ āĻŦāĻŋāĻ¸ā§āĻ¤ā§ƒāĻ¤, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¯ā§ŒāĻ•ā§āĻ¤āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻāĻ•āĻ¸āĻžāĻĨā§‡ āĻ—ā§‹āĻˇā§āĻ ā§€āĻŦāĻĻā§āĻ§, āĻ¯ā§‡āĻŽāĻ¨ ns-3
āĻ“āĻ¯āĻŧāĻžāĻ‡āĻĢāĻžāĻ‡ āĻ•ā§‹āĻĄ:

WifiHelper wifiHelper;
wifiHelper.EnableLogComponents ();

āĻ¸āĻžāĻ°ā§āĻœāĻžāĻ°āĻŋāĻ° NS_LOG āĻ˛āĻ— āĻ•āĻŽā§āĻĒā§‹āĻ¨ā§‡āĻ¨ā§āĻŸ āĻ“āĻ¯āĻŧāĻžāĻ‡āĻ˛ā§āĻĄāĻ•āĻžāĻ°ā§āĻĄ `*' āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻŦā§‡āĨ¤

āĻ˛āĻ— āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¤āĻž āĻĻā§‡āĻ–āĻ¤ā§‡, āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ āĻāĻ•āĻŸāĻŋ āĻ•āĻžāĻœ āĻ•āĻ°āĻŦā§‡:

$ NS_LOG="āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ-āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž" ./waf --run ...

$ NS_LOG="foo" # āĻāĻ•āĻŸāĻŋ āĻŸā§‹āĻ•ā§‡āĻ¨ āĻ•ā§‹āĻ¨ā§‹ āĻ˛āĻ—-āĻ•āĻŽā§āĻĒā§‹āĻ¨ā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŽā§‡āĻ˛ā§‡ āĻ¨āĻž

āĻĒā§āĻ°āĻĨāĻŽ āĻĢāĻ°ā§āĻŽāĻŸāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ˛āĻ— āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨āĻžāĻŽ āĻāĻŦāĻ‚ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻĒāĻ¤āĻžāĻ•āĻž āĻŽā§āĻĻā§āĻ°āĻŖ āĻ•āĻ°āĻŦā§‡
āĻ˛āĻŋāĻ™ā§āĻ• āĻ•āĻ°āĻž āĻāĻŸāĻŋ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§āĻ¨ āĻ¸ā§āĻ•ā§āĻ°ā§āĻ¯āĻžāĻš-āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°. āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻĢāĻ°ā§āĻŽāĻŸāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŋāĻ¤ āĻ˛āĻ— āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ āĻ•āĻ°ā§‡
āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨, āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻ•āĻŸāĻŋ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ¸āĻ™ā§āĻ—ā§‡ āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨ āĻ•āĻ°ā§āĻ¨.

āĻ¨āĻŋāĻ°ā§āĻĻāĻ¯āĻŧāĻ¤āĻž āĻāĻŦāĻ‚ āĻ‰āĻšā§āĻšāĻ¤āĻž āĻ…āĻĒāĻļāĻ¨ āĻ¸āĻŽā§‚āĻš
āĻ¸ā§āĻŦāĻ¤āĻ¨ā§āĻ¤ā§āĻ° āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻ—ā§āĻ˛āĻŋ āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• "āĻ¤ā§€āĻŦā§āĻ°āĻ¤āĻž āĻļā§āĻ°ā§‡āĻŖā§€āĻ°" āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ—āĻ¤, āĻ¯āĻž āĻŽā§āĻ¯āĻžāĻ•ā§āĻ°ā§‹ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡
āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡, NS_LOG_LOGIC(..) āĻ¤ā§‡ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡ LOG_LOGIC
āĻ¤ā§€āĻŦā§āĻ°āĻ¤āĻž āĻļā§āĻ°ā§‡āĻŖā§€āĨ¤

āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ¤ā§€āĻŦā§āĻ°āĻ¤āĻž āĻ•ā§āĻ˛āĻžāĻ¸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻ¨āĻžāĻŽ āĻ§ā§āĻ°ā§āĻŦāĻ•:

┌───────────────â”Ŧ─────────────────────────────────. ─┐
│ āĻ¤ā§€āĻŦā§āĻ°āĻ¤āĻž āĻļā§āĻ°ā§‡āĻŖā§€ │ āĻ…āĻ°ā§āĻĨ │
├───────────────â”ŧ─────────────────────────────────. ─┤
│LOG_NONE │ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ, āĻ•ā§‹āĻ¨ā§‹ āĻ˛āĻ—āĻŋāĻ‚ āĻ¨ā§‡āĻ‡ │ā§ˇ
├───────────────â”ŧ─────────────────────────────────. ─┤
│LOG_ERROR │ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ—ā§āĻ°ā§āĻ¤āĻ° āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻž │
├───────────────â”ŧ─────────────────────────────────. ─┤
│LOG_WARN │ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻŦāĻžāĻ°ā§āĻ¤āĻž │
├───────────────â”ŧ─────────────────────────────────. ─┤
│LOG_DEBUG │ āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ‚ āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ │
├───────────────â”ŧ─────────────────────────────────. ─┤
│LOG_INFO │ āĻ¤āĻĨā§āĻ¯āĻŽā§‚āĻ˛āĻ• │
├───────────────â”ŧ─────────────────────────────────. ─┤
│LOG_FUNCTION │ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ │
├───────────────â”ŧ─────────────────────────────────. ─┤
│LOG_LOGIC │ āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĢā§āĻ˛ā§‹ āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ•āĻ°ā§āĻ¨
│ │ āĻĢāĻžāĻ‚āĻļāĻ¨ │
└───────────────┴─────────────────────────────────. ─┘

āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻ•āĻœāĻ¨ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻ¤ā§€āĻŦā§āĻ°āĻ¤āĻž āĻ•ā§āĻ˛āĻžāĻ¸ā§‡ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻšāĻžāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻŠāĻ°ā§āĻ§ā§āĻŦāĻ¤āĻ¨āĨ¤ āĻāĻŸāĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤āĻŋāĻŽā§‚āĻ˛āĻ• āĻ˛āĻ—āĻŋāĻ‚ "āĻ¸ā§āĻ¤āĻ°" āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻž:

┌───────────────────â”Ŧ───────────────────────────── ─────┐
│āĻ¸ā§āĻ¤āĻ° │ āĻ…āĻ°ā§āĻĨ │
├───────────────────â”ŧ───────────────────────────── ─────┤
│LOG_LEVEL_ERROR │ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° LOG_ERROR āĻ¤ā§€āĻŦā§āĻ°āĻ¤āĻž āĻļā§āĻ°ā§‡āĻŖā§€ │
│ │ āĻŦāĻžāĻ°ā§āĻ¤āĻžāĨ¤ │
├───────────────────â”ŧ───────────────────────────── ─────┤
│LOG_LEVEL_WARN │ LOG_WARN āĻāĻŦāĻ‚ āĻ‰āĻĒāĻ°ā§‡. │
├───────────────────â”ŧ───────────────────────────── ─────┤
│LOG_LEVEL_DEBUG │ LOG_DEBUG āĻāĻŦāĻ‚ āĻ‰āĻĒāĻ°ā§‡. │
├───────────────────â”ŧ───────────────────────────── ─────┤
│LOG_LEVEL_INFO │ LOG_INFO āĻāĻŦāĻ‚ āĻ‰āĻĒāĻ°ā§‡. │
├───────────────────â”ŧ───────────────────────────── ─────┤
│LOG_LEVEL_FUNCTION │ LOG_FUNCTION āĻāĻŦāĻ‚ āĻ‰āĻĒāĻ°ā§‡. │
├───────────────────â”ŧ───────────────────────────── ─────┤
│LOG_LEVEL_LOGIC │ LOG_LOGIC āĻāĻŦāĻ‚ āĻ‰āĻĒāĻ°ā§‡. │
├───────────────────â”ŧ───────────────────────────── ─────┤
│LOG_LEVEL_ALL │ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¤ā§€āĻŦā§āĻ°āĻ¤āĻž āĻ•ā§āĻ˛āĻžāĻ¸āĨ¤ │
├───────────────────â”ŧ───────────────────────────── ─────┤
│LOG_ALL │ āĻāĻ° āĻ¸āĻŽāĻžāĻ°ā§āĻĨāĻ• LOG_LEVEL_ALL │
└───────────────────┴───────────────────────────── ─────┘

āĻ¤ā§€āĻŦā§āĻ°āĻ¤āĻž āĻļā§āĻ°ā§‡āĻŖā§€ āĻāĻŦāĻ‚ āĻ¸ā§āĻ¤āĻ° āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ NS_LOG āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛
āĻāĻ‡ āĻŸā§‹āĻ•ā§‡āĻ¨:

┌─────────â”Ŧ────────────────────
│āĻļā§āĻ°ā§‡āĻŖāĻŋ │ āĻ¸ā§āĻ¤āĻ° │
├─────────â”ŧ────────────────────
│āĻ­ā§āĻ˛ │ āĻ¸ā§āĻ¤āĻ°_āĻ¤ā§āĻ°ā§āĻŸāĻŋ │
├─────────â”ŧ────────────────────
│āĻ¸āĻ¤āĻ°ā§āĻ• │ āĻ¸ā§āĻ¤āĻ°_āĻ¸āĻ¤āĻ°ā§āĻ• │
├─────────â”ŧ────────────────────
│āĻĄā§‡āĻŦāĻžāĻ—ā§ āĻ•āĻ°āĻž │ āĻ˛ā§‡āĻ­ā§‡āĻ˛_āĻĄāĻŋāĻŦāĻžāĻ— │
├─────────â”ŧ────────────────────
│āĻ¤āĻĨā§āĻ¯ │ āĻ¸ā§āĻ¤āĻ°_āĻ¤āĻĨā§āĻ¯ │
├─────────â”ŧ────────────────────
│āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž │ āĻ˛ā§‡āĻ­ā§‡āĻ˛_āĻĢāĻžāĻ‚āĻļāĻ¨ │
├─────────â”ŧ────────────────────
│āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻŦāĻŋāĻĻā§āĻ¯āĻž │ āĻ¸ā§āĻ¤āĻ°_āĻ¯ā§āĻ•ā§āĻ¤āĻŋ │
├─────────â”ŧ────────────────────
│ │ āĻ¸ā§āĻ¤āĻ°_āĻ¸āĻŽāĻ¸ā§āĻ¤ │
│ │ āĻ¸āĻŦ │
│ │ * │
└─────────┴────────────────────

āĻāĻ•āĻŸāĻŋ āĻ¤ā§€āĻŦā§āĻ°āĻ¤āĻž āĻļā§āĻ°ā§‡āĻŖā§€āĻ° āĻŸā§‹āĻ•ā§‡āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¸ā§‡āĻ‡ āĻ¤ā§€āĻŦā§āĻ°āĻ¤āĻžāĻ¯āĻŧ āĻ˛āĻ— āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§‡ā§ˇ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ,
NS_LOG="*=āĻ¸āĻ¤āĻ°ā§āĻ•" āĻ¤ā§€āĻŦā§āĻ°āĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ•āĻ°āĻŦā§‡ āĻ¨āĻž āĻ­ā§āĻ˛. NS_LOG="*=level_debug" āĻ‡āĻšā§āĻ›āĻž
āĻ¤ā§€āĻŦā§āĻ°āĻ¤āĻž āĻ¸ā§āĻ¤āĻ°ā§‡ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻĄā§‡āĻŦāĻžāĻ—ā§ āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻ‰āĻĒāĻ°ā§‡.

āĻ¤ā§€āĻŦā§āĻ°āĻ¤āĻž āĻ•ā§āĻ˛āĻžāĻ¸ āĻāĻŦāĻ‚ āĻ¸ā§āĻ¤āĻ°āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ `|' āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°:
NS_LOG="*=level_warn|āĻ¯ā§āĻ•ā§āĻ¤āĻŋ" āĻ¤ā§€āĻŦā§āĻ°āĻ¤āĻž āĻ¸ā§āĻ¤āĻ°ā§‡ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻšāĻŦā§‡ āĻ­ā§āĻ˛, āĻ¸āĻ¤āĻ°ā§āĻ• āĻāĻŦāĻ‚ āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻŦāĻŋāĻĻā§āĻ¯āĻž.

āĻ¸āĻžāĻ°ā§āĻœāĻžāĻ°āĻŋāĻ° NS_LOG āĻ¤ā§€āĻŦā§āĻ°āĻ¤āĻž āĻ¸ā§āĻ¤āĻ° āĻ“āĻ¯āĻŧāĻžāĻ‡āĻ˛ā§āĻĄāĻ•āĻžāĻ°ā§āĻĄ `*' āĻāĻŦāĻ‚ āĻ¸āĻŦ āĻāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻļāĻŦā§āĻĻ āĻ¸ā§āĻ¤āĻ°_āĻ¸āĻŽāĻ¸ā§āĻ¤.

āĻ˛āĻ— āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ‰āĻ˛ā§āĻ˛āĻŋāĻ–āĻŋāĻ¤ NS_LOG

$ NS_LOG=" :..."

āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻ¤ā§€āĻŦā§āĻ°āĻ¤āĻž āĻšāĻ¯āĻŧ LOG_LEVEL_ALL.

āĻ‰āĻĒāĻ¸āĻ°ā§āĻ— āĻ…āĻĒāĻļāĻ¨ āĻ¸āĻŽā§‚āĻš
āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻ•ā§‹āĻĨāĻžāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ•āĻ–āĻ¨ āĻ‰āĻĻā§āĻ­ā§‚āĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ•āĻŋāĻ¸ā§‡ āĻāĻ¸ā§‡āĻ›ā§‡ āĻ¤āĻž āĻšāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻ…āĻ¨ā§‡āĻ•āĻ—ā§āĻ˛āĻŋ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ— āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ¨āĻŋāĻ°ā§āĻĻāĻ¯āĻŧāĻ¤āĻž.

āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ— āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋ (āĻ¯ā§‡āĻŽāĻ¨ āĻāĻ¨āĻžāĻŽ āĻ§ā§āĻ°ā§āĻŦāĻ•) āĻšāĻ¯āĻŧ

┌─────────────────â”Ŧ─────────────────────────────── ───┐
│āĻĒā§āĻ°āĻŋāĻĢāĻŋāĻ•ā§āĻ¸ āĻšāĻŋāĻšā§āĻ¨ │ āĻ…āĻ°ā§āĻĨ │
├─────────────────â”ŧ─────────────────────────────── ───┤
│LOG_PREFIX_FUNC │ āĻ•āĻ˛āĻŋāĻ‚ āĻāĻ° āĻ¨āĻžāĻŽā§‡āĻ° āĻ‰āĻĒāĻ¸āĻ°ā§āĻ— │
│ │ āĻĢāĻžāĻ‚āĻļāĻ¨āĨ¤ │
├─────────────────â”ŧ─────────────────────────────── ───┤
│LOG_PREFIX_TIME │ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ¸āĻŽāĻ¯āĻŧ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—āĨ¤ │
├─────────────────â”ŧ─────────────────────────────── ───┤
│LOG_PREFIX_NODE │ āĻ¨ā§‹āĻĄ āĻ†āĻ‡āĻĄāĻŋ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—. │
├─────────────────â”ŧ─────────────────────────────── ───┤
│LOG_PREFIX_LEVEL │ āĻ¤ā§€āĻŦā§āĻ°āĻ¤āĻž āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—āĨ¤ │
├─────────────────â”ŧ─────────────────────────────── ───┤
│LOG_PREFIX_ALL │ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ— āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°ā§āĻ¨āĨ¤ │
└─────────────────┴─────────────────────────────── ───┘

āĻ‰āĻĒāĻ¸āĻ°ā§āĻ— āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋ āĻ¨ā§€āĻšā§‡ āĻ¸āĻ‚āĻ•ā§āĻˇā§‡āĻĒā§‡ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻ…āĻĒāĻļāĻ¨ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ NS_LOG āĻāĻ‡ āĻŸā§‹āĻ•ā§‡āĻ¨ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛:

┌─────────────â”Ŧ───────────
│āĻŸā§‹āĻ•ā§‡āĻ¨ │ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ │
├─────────────â”ŧ────────────────
│prefix_func │ āĻĢāĻžāĻ‚āĻļāĻ¨ │
├─────────────â”ŧ────────────────
│āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—_āĻ¸āĻŽāĻ¯āĻŧ │ āĻ¸āĻŽāĻ¯āĻŧ │
└─────────────┴───────────────┘

│āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—_āĻ¨ā§‹āĻĄ │ āĻ¨ā§‹āĻĄ │
├─────────────â”ŧ────────────────
│āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—_āĻ¸ā§āĻ¤āĻ° │ āĻ¸ā§āĻ¤āĻ° │
├─────────────â”ŧ────────────────
│āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—_āĻ¸āĻŽāĻ¸ā§āĻ¤ │ āĻ¸āĻŦ │
│ │ * │
└─────────────┴───────────────┘

āĻ˛āĻ— āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ‰āĻ˛ā§āĻ˛āĻŋāĻ–āĻŋāĻ¤ NS_LOG

$ NS_LOG=" :..."

āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ— āĻ…āĻĒāĻļāĻ¨ āĻšāĻ¯āĻŧ LOG_PREFIX_ALL.

āĻ¨āĻŋāĻ°ā§āĻĻāĻ¯āĻŧāĻ¤āĻž āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—
āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻ° āĻ¤ā§€āĻŦā§āĻ°āĻ¤āĻž āĻļā§āĻ°ā§‡āĻŖā§€ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—_āĻ¸ā§āĻ¤āĻ° or āĻ¸ā§āĻ¤āĻ°.
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻāĻ‡ āĻŽāĻžāĻ¨ NS_LOG āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ˛āĻ— āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ (`*') āĻāĻŦāĻ‚ āĻ¸āĻ•āĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ˛āĻ—āĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§‡
āĻ¤ā§€āĻŦā§āĻ°āĻ¤āĻž āĻ•ā§āĻ˛āĻžāĻ¸ (= āĻ¸āĻŦ), āĻāĻŦāĻ‚ āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻŸāĻŋāĻ•ā§‡ āĻ¤ā§€āĻŦā§āĻ°āĻ¤āĻž āĻļā§āĻ°ā§‡āĻŖāĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ— (|āĻĒā§āĻ°āĻŋāĻĢāĻŋāĻ•ā§āĻ¸_āĻ˛ā§‡āĻ­ā§‡āĻ˛).

$NS_LOG="*=all|prefix_level" ./waf --run āĻ¸ā§āĻ•ā§āĻ°ā§āĻ¯āĻžāĻš-āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°
āĻ¸ā§āĻ•ā§āĻ°ā§āĻ¯āĻžāĻš āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°
[āĻ¤ā§āĻ°ā§āĻŸāĻŋ] āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻž
[āĻ¸āĻ¤āĻ°ā§āĻ•] āĻ¸āĻ¤āĻ°ā§āĻ•āĻŦāĻžāĻ°ā§āĻ¤āĻž
[āĻĄāĻŋāĻŦāĻžāĻ—] āĻĄāĻŋāĻŦāĻžāĻ— āĻŦāĻžāĻ°ā§āĻ¤āĻž
[INFO] āĻ¤āĻĨā§āĻ¯ āĻŦāĻžāĻ°ā§āĻ¤āĻž
[FUNCT] āĻĢāĻžāĻ‚āĻļāĻ¨ āĻŦāĻžāĻ°ā§āĻ¤āĻž
[āĻ˛āĻœāĻŋāĻ•] āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻž

āĻ¸āĻŽāĻ¯āĻŧ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ¸āĻŽāĻ¯āĻŧ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—_āĻ¸āĻŽāĻ¯āĻŧ or āĻ¸āĻŽāĻ¯āĻŧ. āĻāĻ‡ āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ
āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ¸āĻŽāĻ¯āĻŧāĨ¤

āĻ¨ā§‹āĻĄ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ¨ā§‹āĻĄ āĻ†āĻ‡āĻĄāĻŋ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—_āĻ¨ā§‹āĻĄ or āĻ¨ā§‹āĻĄ.

āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—
āĻ•āĻ˛āĻŋāĻ‚ āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻ¨āĻžāĻŽ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ prefix_func or āĻĢāĻžāĻ‚āĻļāĻ¨.

NS_LOG āĻ“āĻ¯āĻŧāĻžāĻ‡āĻ˛ā§āĻĄāĻ•āĻžāĻ°ā§āĻĄ
āĻ˛āĻ— āĻ•āĻŽā§āĻĒā§‹āĻ¨ā§‡āĻ¨ā§āĻŸ āĻ“āĻ¯āĻŧāĻžāĻ‡āĻ˛ā§āĻĄāĻ•āĻžāĻ°ā§āĻĄ `*' āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻŦā§‡āĨ¤ āĻāĻ•āĻŸāĻŋ āĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻ¤ā§‡
āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¤ā§€āĻŦā§āĻ°āĻ¤āĻž āĻ¸ā§āĻ¤āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° *=.

āĻ¤ā§€āĻŦā§āĻ°āĻ¤āĻž āĻ¸ā§āĻ¤āĻ° āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ“āĻ¯āĻŧāĻžāĻ‡āĻ˛ā§āĻĄāĻ•āĻžāĻ°ā§āĻĄ `*' āĻāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻļāĻŦā§āĻĻ āĻ¸āĻŦ. āĻāĻŸāĻž āĻ¯ā§‡ āĻ•ā§‹āĻ¨ āĻ†āĻ—ā§‡ āĻ˜āĻŸāĻ¤ā§‡ āĻšāĻŦā§‡
`|' āĻ…āĻ•ā§āĻˇāĻ° āĻ†āĻ˛āĻžāĻĻāĻž āĻ•āĻ°āĻžāĻ° āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĨ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¤ā§€āĻŦā§āĻ°āĻ¤āĻž āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨ =*,
or =*|.

āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ“āĻ¯āĻŧāĻžāĻ‡āĻ˛ā§āĻĄāĻ•āĻžāĻ°ā§āĻĄ `*' āĻŦāĻž āĻŸā§‹āĻ•ā§‡āĻ¨ āĻ¸āĻŦ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ— āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ˜āĻŸāĻ¤ā§‡ āĻšāĻŦā§‡ āĻĒāĻ°ā§‡ a
`|' āĻšāĻ°āĻŋāĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¤ā§€āĻŦā§āĻ°āĻ¤āĻž āĻļā§āĻ°ā§‡āĻŖā§€ āĻŦāĻž āĻ¸ā§āĻ¤āĻ° āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡, āĻāĻŦāĻ‚ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ— āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨
= |*.

āĻ¸āĻŽā§āĻŽāĻŋāĻ˛āĻŋāĻ¤ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ“āĻ¯āĻŧāĻžāĻ‡āĻ˛ā§āĻĄāĻ•āĻžāĻ°ā§āĻĄ ** āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¤ā§€āĻŦā§āĻ°āĻ¤āĻž āĻāĻŦāĻ‚ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ— āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§‡; āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ,
=**.

āĻ‰āĻŦāĻžāĻ°-āĻ“āĻ¯āĻŧāĻžāĻ‡āĻ˛ā§āĻĄāĻ•āĻžāĻ°ā§āĻĄ *** āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ˛āĻ— āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¤ā§€āĻŦā§āĻ°āĻ¤āĻž āĻāĻŦāĻ‚ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ— āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§‡āĨ¤
āĻāĻ‡ āĻ¸āĻŦ āĻ¸āĻŽāĻ¤ā§āĻ˛ā§āĻ¯:

$NS_LOG="***" ... $NS_LOG="*=all|*" ... $NS_LOG="*=*|āĻ¸āĻŽāĻ¸ā§āĻ¤" ...
$NS_LOG="*=**" ... $NS_LOG="*=level_all|*" ... $NS_LOG="*=*|prefix_all" ...
$NS_LOG="*=*|*"...

āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž: āĻāĻŽāĻ¨āĻ•āĻŋ āĻ¤ā§āĻšā§āĻ› āĻ¸ā§āĻ•ā§āĻ°ā§āĻ¯āĻžāĻš-āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻāĻ° āĻ¸āĻžāĻĨā§‡ 46K āĻ˛āĻžāĻ‡āĻ¨ā§‡āĻ° āĻŦā§‡āĻļāĻŋ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡
NS_LOG="***"!

āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻĨā§‡āĻ•ā§‡ āĻ¯ā§‹āĻ— āĻ˛āĻ—āĻŋāĻ‚ āĻĨā§‡āĻ•ā§‡ āĻ¤ā§‹āĻŽāĻžāĻ° āĻ•ā§‹āĻĄ
āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•ā§‹āĻĄā§‡ āĻ˛āĻ—āĻŋāĻ‚ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻ–ā§āĻŦāĻ‡ āĻ¸āĻšāĻœ:

1. āĻ†āĻšā§āĻŦāĻžāĻ¨ āĻ•āĻ°ā§āĻ¨ NS_LOG_COMPONENT_DEFINE (...); āĻāĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻŽā§āĻ¯āĻžāĻ•ā§āĻ°ā§‹ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ ns3.
āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨āĻ¨ā§āĻ¯ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻļāĻ¨āĻžāĻ•ā§āĻ¤āĻ•āĻžāĻ°ā§€ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ (āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻĢāĻžāĻ‡āĻ˛ āĻāĻŦāĻ‚/āĻ…āĻĨāĻŦāĻž āĻļā§āĻ°ā§‡āĻŖā§€āĻ° āĻ¨āĻžāĻŽā§‡āĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡
āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤) āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻŽā§āĻ¯āĻžāĻ•ā§āĻ°ā§‹ āĻ•āĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡āĻŽāĻ¨ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§‚āĻĒ:

āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ ns3 {

NS_LOG_COMPONENT_DEFINE ("Ipv4L3Protocol");
...

āĻāĻ‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ Ipv4L3 āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻāĻ•āĻŸāĻŋ āĻ˛āĻ— āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§‡āĨ¤

(āĻāĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻŦāĻž āĻŦāĻžāĻ‡āĻ°ā§‡ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤āĻŋāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŽā§āĻ¯āĻžāĻ•ā§āĻ°ā§‹āĻŸāĻŋ āĻ¸āĻžāĻŦāĻ§āĻžāĻ¨ā§‡ āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛
āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ ns3, āĻāĻŦāĻ‚ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•ā§‹āĻĄāĻŦā§‡āĻ¸ āĻœā§āĻĄāĻŧā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻŦā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻŽā§‚āĻ˛ āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ āĻ›āĻŋāĻ˛
āĻāĻ‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ āĻŦāĻžāĻšāĻŋāĻ°ā§‡ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ ns3 āĻĢāĻžāĻ‡āĻ˛ āĻ—ā§āĻ˛ā§‹āĻŦāĻžāĻ˛ āĻ¸ā§āĻ•ā§‹āĻĒā§‡āĨ¤)

2. āĻ†āĻĒāĻ¨āĻžāĻ° āĻĢāĻžāĻ‚āĻļāĻ¨ āĻāĻŦāĻ‚ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻŦāĻĄāĻŋāĻ¤ā§‡ āĻ˛āĻ—āĻŋāĻ‚ āĻ¸ā§āĻŸā§‡āĻŸāĻŽā§‡āĻ¨ā§āĻŸ (āĻŽā§āĻ¯āĻžāĻ•ā§āĻ°ā§‹ āĻ•āĻ˛) āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨āĨ¤

āĻ˛āĻ—āĻŋāĻ‚ āĻŽā§āĻ¯āĻžāĻ•ā§āĻ°ā§‹
āĻ˛āĻ—āĻŋāĻ‚ āĻŽā§āĻ¯āĻžāĻ•ā§āĻ°ā§‹ āĻāĻŦāĻ‚ āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ āĻ¤ā§€āĻŦā§āĻ°āĻ¤āĻž āĻ¸ā§āĻ¤āĻ° āĻšāĻ¯āĻŧ

┌───────────────â”Ŧ───────────────────
│ āĻ¤ā§€āĻŦā§āĻ°āĻ¤āĻž āĻļā§āĻ°ā§‡āĻŖā§€ │ āĻŽā§āĻ¯āĻžāĻ•ā§āĻ°ā§‹ │
├───────────────â”ŧ────────────────────────────
│LOG_NONE │ (āĻ•ā§‹āĻ¨āĻ“ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¨ā§‡āĻ‡) │
├───────────────â”ŧ────────────────────────────
│LOG_ERROR │ NS_LOG_ERROR (...); │
├───────────────â”ŧ────────────────────────────
│LOG_WARN │ NS_LOG_WARN (...); │
├───────────────â”ŧ────────────────────────────
│LOG_DEBUG │ NS_LOG_DEBUG (...); │
├───────────────â”ŧ────────────────────────────
│LOG_INFO │ NS_LOG_INFO (...); │
├───────────────â”ŧ────────────────────────────
│LOG_FUNCTION │ NS_LOG_FUNCTION (...); │
├───────────────â”ŧ────────────────────────────
│LOG_LOGIC │ NS_LOG_LOGIC (...); │
└───────────────┴───────────────────────

āĻŽā§āĻ¯āĻžāĻ•ā§āĻ°ā§‹āĻ—ā§āĻ˛āĻŋ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¸ā§āĻŸā§āĻ°ā§€āĻŽāĻžāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡, āĻ¤āĻžāĻ‡ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻž āĻ•āĻŋāĻ›ā§ āĻĒāĻžāĻ āĻžāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ std::out, āĻ¯ā§‹āĻ—āĻĻāĻžāĻ¨
by << āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°, āĻ…āĻ¨ā§āĻŽā§‹āĻĻāĻŋāĻ¤:

void MyClas::āĻšā§‡āĻ• āĻ•āĻ°ā§āĻ¨ (int value, char * āĻ†āĻ‡āĻŸā§‡āĻŽ)
{
NS_LOG_FUNCTION (āĻāĻ‡ << arg << āĻ†āĻ‡āĻŸā§‡āĻŽ);
āĻ¯āĻĻāĻŋ (arg > 10)
{
NS_LOG_ERROR ("āĻ–āĻžāĻ°āĻžāĻĒ āĻŽāĻžāĻ¨" << āĻŽāĻžāĻ¨ <
" āĻšā§‡āĻ• āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ " << āĻ¨āĻžāĻŽ << "!");
}
...
}

āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ āĻ¯ā§‡ NS_LOG_FUNCTION āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ ` āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§‡āĻļ āĻ•āĻ°āĻžāĻ¯āĻŧ,' (āĻ•āĻŽāĻž-āĻ¸ā§āĻĒā§‡āĻ¸) āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻŦāĻŋāĻ­āĻžāĻœāĻ•
āĻāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸāĨ¤ āĻāĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻ˛āĻ—āĻŋāĻ‚ āĻ¸āĻšāĻœ āĻ•āĻ°ā§‡; āĻļā§āĻ§ā§ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž
āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻžāĻĨā§‡ << āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻŋāĻ¸āĻžāĻŦā§‡āĨ¤

āĻļāĻ°ā§āĻ¤āĻšā§€āĻ¨ āĻ˛āĻ—āĻŋāĻ‚
āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻšāĻŋāĻ¸āĻžāĻŦā§‡, NS_LOG_UNCOND (...); āĻŽā§āĻ¯āĻžāĻ•ā§āĻ°ā§‹ āĻ¸āĻŦāĻ¸āĻŽāĻ¯āĻŧ āĻ¤āĻžāĻ° āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻ˛āĻ— āĻ•āĻ°āĻŦā§‡, āĻāĻŽāĻ¨āĻ•āĻŋ āĻ¯āĻĻāĻŋ
āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ āĻ˛āĻ—-āĻ•āĻŽā§āĻĒā§‹āĻ¨ā§‡āĻ¨ā§āĻŸ āĻ•ā§‹āĻ¨ā§‹ āĻ¤ā§€āĻŦā§āĻ°āĻ¤āĻžāĻ¯āĻŧ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻ‡ āĻŽā§āĻ¯āĻžāĻ•ā§āĻ°ā§‹ āĻ•ā§‹āĻ¨ā§‹ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¨āĻž
āĻ‰āĻĒāĻ¸āĻ°ā§āĻ— āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋāĻ°āĨ¤ āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ āĻ¯ā§‡ āĻ˛āĻ—āĻŋāĻ‚ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĄāĻŋāĻŦāĻžāĻ— āĻŦāĻŋāĻ˛ā§āĻĄā§‡ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡; āĻāĻ‡ āĻŽā§āĻ¯āĻžāĻ•ā§āĻ°ā§‹
āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœāĻĄ āĻŦāĻŋāĻ˛ā§āĻĄā§‡ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦā§‡ āĻ¨āĻžāĨ¤

āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻŋāĻ•āĻž
āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°ā§āĻ¨ NS_LOG_FUNCTION (āĻāĻ‡ << args...); āĻāĻ‡ āĻ¸āĻšāĻœ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ
āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ•āĻ˛ āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚āĨ¤

¡ āĻŦā§āĻ¯āĻ¤ā§€āĻ¤: āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° āĻŦāĻž āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ•āĻ¨āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•ā§āĻŸāĻ° āĻ˛āĻ— āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ¨āĻž, āĻ•āĻžāĻ°āĻŖ āĻāĻŸāĻŋ āĻ˜āĻŸāĻŦā§‡
āĻ…āĻ¸ā§€āĻŽ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋ āĻāĻŦāĻ‚ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ• āĻ“āĻ­āĻžāĻ°āĻĢā§āĻ˛ā§‹āĨ¤

āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻ›āĻžāĻĄāĻŧāĻž āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻ‡ āĻĢāĻ°ā§āĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨: NS_LOG_FUNCTION (āĻāĻ‡);

¡ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯:

āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¸āĻ™ā§āĻ—ā§‡ NS_LOG_FUNCTION (...); āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ•ā§‡āĻ° āĻŽāĻ¤.

¡ āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ›āĻžāĻĄāĻŧāĻž NS_LOG_FUNCTION_NOARGS ();

¡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨ NS_LOG_ERROR āĻ—ā§āĻ°ā§āĻ¤āĻ° āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¯āĻž āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨āĻŸāĻŋ āĻ…āĻŦā§ˆāĻ§ āĻ•āĻ°ā§‡
āĻŽā§ƒāĻ¤ā§āĻ¯ā§āĻĻāĻ¨ā§āĻĄāĨ¤

¡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨ NS_LOG_WARN āĻ…āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ• āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¯āĻž āĻ¸āĻ‚āĻļā§‹āĻ§āĻ¨āĻ¯ā§‹āĻ—ā§āĻ¯ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ•āĻŋāĻ›ā§ āĻ‡āĻ™ā§āĻ—āĻŋāĻ¤ āĻĻāĻŋāĻ¨
āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻĒā§āĻ°āĻ•ā§ƒāĻ¤āĻŋ āĻāĻŦāĻ‚ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻāĻŸāĻŋ āĻ¸āĻ‚āĻļā§‹āĻ§āĻ¨ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

¡ NS_LOG_DEBUG āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ ad āĻšāĻ• āĻāĻ•āĻŸāĻŋ āĻŽāĻĄā§‡āĻ˛ā§‡āĻ° āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻŦā§‹āĻāĻžāĻ° āĻ‰āĻĒāĻžāĻ¯āĻŧāĨ¤

¡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨ NS_LOG_INFO āĻŽā§ƒāĻ¤ā§āĻ¯ā§āĻĻāĻ¨ā§āĻĄ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ¤āĻĨā§āĻ¯ā§‡āĻ° āĻœāĻ¨ā§āĻ¯, āĻ¯ā§‡āĻŽāĻ¨ a āĻāĻ° āĻ†āĻ•āĻžāĻ°
āĻāĻŸāĻŋ āĻĨā§‡āĻ•ā§‡ āĻ¯ā§‹āĻ— / āĻ…āĻĒāĻ¸āĻžāĻ°āĻŖ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĄā§‡āĻŸāĻž āĻ—āĻ āĻ¨āĨ¤

¡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨ NS_LOG_LOGIC āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻŦāĻŋāĻĻā§āĻ¯āĻž āĻļāĻžāĻ–āĻž āĻŸā§āĻ°ā§‡āĻ¸ āĻ•āĻ°āĻ¤ā§‡.

¡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ˛āĻ—āĻŋāĻ‚ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ—ā§āĻ˛āĻŋ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻ­āĻ™ā§āĻ— āĻ•āĻ°ā§‡ āĻ¨āĻžāĨ¤ āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻŋāĻ›ā§ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻšāĻžāĻ˛āĻžāĻ¨
āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ˛āĻ— āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻšāĻžāĻ˛ā§ (āĻ¯ā§‡āĻŽāĻ¨ NS_LOG="***").

āĻ°āĻšāĻ¨āĻž
āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻžāĻŦāĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻŸāĻŋ āĻŦā§‹āĻāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ ns-3. āĻŽāĻ§ā§āĻ¯ā§‡
āĻ…āĻ§āĻŋāĻ•āĻžāĻ‚āĻļ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, ns-3 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻ•āĻŋāĻ›ā§ āĻ¨āĻ¤ā§āĻ¨ āĻāĻŦāĻ‚ āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ‰āĻœā§āĻœā§āĻŦāĻ˛ āĻ§āĻžāĻ°āĻŖāĻž āĻĨāĻžāĻ•āĻŦā§‡
āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻāĻ‡ āĻ§āĻžāĻ°āĻŖāĻžāĻŸāĻŋ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ¤āĻž āĻ¯āĻžāĻšāĻžāĻ‡ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ—āĻŦā§‡āĻˇāĻ• āĻāĻ•āĻŸāĻŋāĻ¤ā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻŦā§‡āĻ¨
āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻ•āĻ°ā§‡ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ†āĻšāĻ°āĻŖ āĻ•āĻ°ā§‡ āĻ¤āĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻžāĻ˛āĻžāĻ¨
āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻ¯āĻž āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ā§‡āĻ° āĻ†āĻšāĻ°āĻŖ āĻ•ā§āĻ¯āĻžāĻĒāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤

āĻ…āĻ¨ā§āĻ¯ āĻ•āĻĨāĻžāĻ¯āĻŧ, āĻāĻ•āĻŸāĻŋ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻĒā§āĻ°ā§‹ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻšāĻ˛ āĻ†āĻ°āĻ“ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž
āĻ…āĻ§ā§āĻ¯āĻ¯āĻŧāĻ¨. āĻ­āĻŋāĻ¤āĻ°ā§‡ ns-3, āĻ¸āĻžāĻŦāĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ¯āĻž āĻāĻ•āĻœāĻ¨ āĻ—āĻŦā§‡āĻˇāĻ•āĻ•ā§‡ āĻāĻŸāĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§‡ āĻ¤āĻž āĻšāĻ˛ āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚
āĻ¸āĻžāĻŦāĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ

āĻ°āĻšāĻ¨āĻž āĻĒā§āĻ°ā§‡āĻ°āĻŖāĻž
āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻĨā§‡āĻ•ā§‡ āĻ¤āĻĨā§āĻ¯ āĻĒā§‡āĻ¤ā§‡ āĻ…āĻ¨ā§‡āĻ• āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻ†āĻ›ā§‡. āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ¸ā§‹āĻœāĻž āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻšāĻ˛
āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻ†āĻ‰āĻŸāĻĒā§āĻŸā§‡ āĻ¤āĻĨā§āĻ¯ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ āĻ•āĻ°āĻ¤ā§‡, āĻ¯ā§‡āĻŽāĻ¨,

# āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤
...
int āĻĒā§āĻ°āĻ§āĻžāĻ¨ ()
{
...
std::cout << "x āĻāĻ° āĻŽāĻžāĻ¨ āĻšāĻ˛ " << x << std::endl;
...
}

āĻāĻŸāĻŋ āĻ›ā§‹āĻŸ āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ†āĻ°āĻ“ āĻŦā§‡āĻļāĻŋ āĻ•āĻ°ā§‡
āĻœāĻŸāĻŋāĻ˛, āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻ°āĻ“ āĻŦā§‡āĻļāĻŋ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻ• āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ āĻāĻŦāĻ‚ āĻĒāĻžāĻ°ā§āĻ¸āĻŋāĻ‚ āĻāĻŦāĻ‚ āĻĒāĻžāĻ°āĻĢāĻ°ā§āĻŽ āĻ•āĻ°āĻžāĻ° āĻ•āĻžāĻœ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻļā§‡āĻˇ āĻ•āĻ°āĻŦā§‡āĻ¨
āĻ†āĻ‰āĻŸāĻĒā§āĻŸā§‡ āĻ—āĻŖāĻ¨āĻž āĻ•āĻ āĻŋāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻ•āĻ āĻŋāĻ¨ āĻšāĻ¤ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡āĨ¤

āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻŦāĻŋāĻˇāĻ¯āĻŧ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¯ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŦāĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ tidbit āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¯āĻŧ, āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ•ā§‹āĻ°
āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ¸āĻŦ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ•āĻ°āĻžāĻ° āĻ•ā§‹āĻ¨ āĻŽāĻžāĻ¨āĻ¸āĻŽā§āĻŽāĻ¤ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻ¨ā§‡āĻ‡
āĻāĻ‡ āĻ†āĻ‰āĻŸāĻĒā§āĻŸā§‡āĻ°, āĻ¤āĻžāĻ‡ āĻ†āĻ‰āĻŸāĻĒā§āĻŸā§‡āĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻ¸ā§€āĻŽāĻž āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ āĻŦāĻžāĻĄāĻŧāĻ¤ā§‡ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻ…āĻŦāĻļā§‡āĻˇā§‡,
āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ‡ āĻ¤āĻĨā§āĻ¯ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻŦā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ‰āĻ‡āĻĨ āĻšāĻ˛āĻŽāĻžāĻ¨ āĻ¸āĻŽāĻ¯āĻŧāĻ•ā§‡ āĻ¸ā§€āĻŽāĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻāĻ° āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻŦāĻŋāĻļāĻžāĻ˛ āĻ†āĻ•āĻžāĻ°ā§‡ āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻĒāĻžāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻĒāĻžāĻ°ā§āĻ¸āĻŋāĻ‚ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž.

ns-3 āĻ˛āĻ—āĻŋāĻ‚ āĻāĻŦāĻ‚ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ•āĻŋāĻ›ā§ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻĒā§āĻ°āĻĻāĻžāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ¸āĻšāĻœ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡
āĻ˛āĻ—āĻŋāĻ¨ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖā§‡āĻ° āĻŽāĻžāĻ¤ā§āĻ°āĻž āĻŽā§‹āĻŸā§‡āĻ‡ āĻ–ā§āĻŦ āĻ¸ā§‚āĻ•ā§āĻˇā§āĻŽ āĻ¨āĻ¯āĻŧāĨ¤ āĻ˛āĻ—āĻŋāĻ‚
āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻāĻ•āĻŸāĻŋ āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻžāĻ•ā§ƒāĻ¤ āĻ­ā§‹āĻāĻ¤āĻž āĻ¯āĻ¨ā§āĻ¤ā§āĻ°āĨ¤

āĻāĻŸāĻŋ āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻĨāĻžāĻ•āĻž āĻŦāĻžāĻžā§āĻ›āĻ¨ā§€āĻ¯āĻŧ āĻ¯āĻž āĻāĻ•āĻœāĻ¨āĻ•ā§‡ āĻŽā§‚āĻ˛ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻĒā§ŒāĻāĻ›āĻžāĻ¨ā§‹āĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧ āĻāĻŦāĻ‚ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ°
āĻŽā§‚āĻ˛ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻŦāĻ‚ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ¨āĻž āĻ•āĻ°ā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¤āĻĨā§āĻ¯ āĻĒāĻžāĻ¨āĨ¤ āĻāĻŽāĻ¨ āĻ•āĻŋ
āĻ­āĻžāĻ˛ āĻšāĻŦā§‡ āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ¯āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ•ā§‡ āĻ…āĻŦāĻšāĻŋāĻ¤ āĻ•āĻ°ā§‡ āĻ¯āĻ–āĻ¨ āĻ†āĻ—ā§āĻ°āĻšā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ†āĻ‡āĻŸā§‡āĻŽ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻŦāĻž āĻāĻ•āĻŸāĻŋā§ˇ
āĻ†āĻ•āĻ°ā§āĻˇāĻŖā§€āĻ¯āĻŧ āĻ˜āĻŸāĻ¨āĻž āĻ˜āĻŸā§‡āĻ›ā§‡āĨ¤

āĻ¸āĻžāĻ°ā§āĻœāĻžāĻ°āĻŋāĻ° ns-3 āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻŸāĻŋ āĻ¸ā§‡āĻ‡ āĻ˛āĻžāĻ‡āĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ­āĻžāĻ˛āĻ­āĻžāĻŦā§‡ āĻ¸āĻ‚āĻšāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ā§ˇ
āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻāĻŦāĻ‚ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ¸āĻžāĻŦāĻ¸ā§āĻŸā§‡āĻŽ āĻ¤ā§āĻ˛āĻ¨āĻžāĻŽā§‚āĻ˛āĻ•āĻ­āĻžāĻŦā§‡ āĻ¸āĻšāĻœ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻĻā§ƒāĻļā§āĻ¯ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧāĨ¤

āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻŦāĻŋāĻŦāĻ°āĻŖ
āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻžāĻŦāĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻāĻ° āĻ‰āĻĒāĻ° āĻŦā§āĻ¯āĻžāĻĒāĻ•āĻ­āĻžāĻŦā§‡ āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡ ns-3 āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻāĻŦāĻ‚ āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻŽā§‡āĻ•āĻžāĻ¨āĻŋāĻœāĻŽāĨ¤ āĻ†āĻĒāĻ¨āĻŋ
āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻžāĻ° āĻ†āĻ—ā§‡ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŸāĻŋāĻ° āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ āĻŦāĻŋāĻ­āĻžāĻ—āĻ—ā§āĻ˛āĻŋ āĻĒāĻĄāĻŧāĻ¤ā§‡ āĻāĻŦāĻ‚ āĻŦā§āĻāĻ¤ā§‡ āĻšāĻŦā§‡
āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻŦā§āĻā§āĻ¨āĨ¤

āĻ¸āĻžāĻ°ā§āĻœāĻžāĻ°āĻŋāĻ° ns-3 āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ¸ā§āĻŦāĻžāĻ§ā§€āĻ¨ āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ‰ā§ŽāĻ¸ā§‡āĻ° āĻ§āĻžāĻ°āĻŖāĻžāĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻāĻŦāĻ‚
āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻŋāĻ™ā§āĻ•; āĻ¸āĻŋāĻ™ā§āĻ•āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ‰āĻ¤ā§āĻ¸āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ…āĻ­āĻŋāĻ¨ā§āĻ¨ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¸āĻšāĨ¤

āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻšāĻ˛ āĻ¸āĻ¤ā§āĻ¤āĻž āĻ¯āĻž āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ā§‡ āĻ˜āĻŸā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¸āĻ‚āĻ•ā§‡āĻ¤ āĻĻāĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ā§ˇ
āĻ†āĻ•āĻ°ā§āĻˇāĻŖā§€āĻ¯āĻŧ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻĄā§‡āĻŸāĻž āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻāĻ•āĻŸāĻŋ āĻŸā§āĻ°ā§‡āĻ¸ āĻ‰āĻ¤ā§āĻ¸ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¯āĻ–āĻ¨ a
āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻāĻ•āĻŸāĻŋ āĻ¨ā§‡āĻŸ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ—ā§ƒāĻšā§€āĻ¤ āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸā§‡āĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§āĻ¤ā§‡ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡
āĻ†āĻ—ā§āĻ°āĻšā§€ āĻŸā§āĻ°ā§‡āĻ¸ sinks. āĻāĻ•āĻŸāĻŋ āĻŸā§āĻ°ā§‡āĻ¸ āĻ‰ā§ŽāĻ¸ āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¯āĻ–āĻ¨ āĻāĻ•āĻŸāĻŋ āĻ†āĻ•āĻ°ā§āĻˇāĻŖā§€āĻ¯āĻŧ āĻ°āĻžāĻˇā§āĻŸā§āĻ°
āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ•āĻŸāĻŋ āĻŽāĻĄā§‡āĻ˛ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ˜āĻŸā§‡āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻāĻ•āĻŸāĻŋ TCP āĻŽāĻĄā§‡āĻ˛ā§‡āĻ° āĻ•āĻ¨āĻœā§‡āĻļāĻ¨ āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻžāĻ‡āĻŽ
āĻāĻ•āĻŸāĻŋ āĻŸā§āĻ°ā§‡āĻ¸ āĻ‰āĻ¤ā§āĻ¸ āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻžāĻ°ā§āĻĨā§€.

āĻŸā§āĻ°ā§‡āĻ¸ āĻ‰āĻ¤ā§āĻ¸ āĻ¨āĻŋāĻœā§‡āĻĻā§‡āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻĻāĻ°āĻ•āĻžāĻ°ā§€ āĻ¨āĻ¯āĻŧ; āĻ¤āĻžāĻĻā§‡āĻ° āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ•ā§‹āĻĄā§‡āĻ° āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻŸā§āĻ•āĻ°ā§‹āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻšāĻŦā§‡
āĻ¯ā§‡ āĻ†āĻ¸āĻ˛ā§‡ āĻ‰ā§ŽāĻ¸ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻ¤āĻĨā§āĻ¯ āĻ¸āĻ™ā§āĻ—ā§‡ āĻĻāĻ°āĻ•āĻžāĻ°ā§€ āĻ•āĻŋāĻ›ā§ āĻ¨āĻž. āĻĻā§āĻ¯
āĻ¯ā§‡ āĻ¸āĻ¤ā§āĻ¤āĻžāĻ—ā§āĻ˛āĻŋ āĻŸā§āĻ°ā§‡āĻ¸ āĻ¤āĻĨā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸āĻŋāĻ™ā§āĻ• āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧāĨ¤ āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸ā§‚āĻ¤ā§āĻ° āĻšāĻ¯āĻŧ
āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸāĻ° āĻāĻŦāĻ‚ āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸āĻŋāĻ™ā§āĻ• āĻšāĻ˛ āĻ­ā§‹āĻ•ā§āĻ¤āĻžāĨ¤

āĻāĻ‡ āĻ¸ā§āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻŦāĻŋāĻ­āĻžāĻ—āĻŸāĻŋ āĻšāĻžāĻ°āĻĒāĻžāĻļā§‡ āĻ›āĻĄāĻŧāĻŋāĻ¯āĻŧā§‡ āĻ›āĻŋāĻŸāĻŋāĻ¯āĻŧā§‡ āĻĨāĻžāĻ•āĻž āĻĒā§āĻ°āĻšā§āĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻ• āĻŸā§āĻ°ā§‡āĻ¸ āĻ‰āĻ¤ā§āĻ¸ā§‡āĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧ
āĻāĻŽāĻ¨ āĻœāĻžāĻ¯āĻŧāĻ—āĻžāĻ¯āĻŧ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ¯āĻž āĻŽāĻĄā§‡āĻ˛ āĻ˛ā§‡āĻ–āĻ•ā§‡āĻ°āĻž āĻŽāĻ¨ā§‡ āĻ•āĻ°ā§‡āĻ¨ āĻ‰āĻĒāĻ¯ā§‹āĻ—ā§€ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ¨āĻž āĻ•āĻ°āĻž āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤
āĻāĻ‡ āĻ‰āĻ¤ā§āĻ¸āĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋāĻ¤ā§‡ āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸āĻŋāĻ™ā§āĻ•, āĻ•āĻŋāĻ›ā§āĻ‡ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻ‡ āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻž āĻ¤ā§āĻ˛āĻ¨āĻžāĻŽā§‚āĻ˛āĻ•āĻ­āĻžāĻŦā§‡ āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧ
āĻ…āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ‰āĻ¤ā§āĻ¸āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ¨āĻ¤ā§āĻ¨ āĻ§āĻ°āĻŖā§‡āĻ° āĻ¸āĻŋāĻ™ā§āĻ• āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡, āĻ›āĻžāĻĄāĻŧāĻžāĻ‡
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡āĻ° āĻŽā§‚āĻ˛ āĻŦāĻž āĻŽāĻĄā§‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻāĻŦāĻ‚ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ•āĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§ˇ

āĻāĻ•āĻŸāĻŋ āĻŸā§āĻ°ā§‡āĻ¸ āĻ‰ā§ŽāĻ¸ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ‰āĻ¤ā§āĻĒāĻ¨ā§āĻ¨ āĻŸā§āĻ°ā§‡āĻ¸ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻļā§‚āĻ¨ā§āĻ¯ āĻŦāĻž āĻ¤āĻžāĻ° āĻŦā§‡āĻļāĻŋ āĻ—ā§āĻ°āĻžāĻšāĻ• āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻ•āĻœāĻ¨ āĻĒāĻžāĻ°ā§‡
āĻāĻ•āĻŸāĻŋ āĻŸā§āĻ°ā§‡āĻ¸ āĻ‰āĻ¤ā§āĻ¸āĻ•ā§‡ āĻāĻ• āĻ§āĻ°āĻŖā§‡āĻ° āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ-āĻŸā§-āĻŽāĻžāĻ˛ā§āĻŸāĻŋāĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻ¤āĻĨā§āĻ¯ āĻ˛āĻŋāĻ™ā§āĻ• āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ­āĻžāĻŦā§āĻ¨āĨ¤

āĻāĻ‡ āĻ§āĻžāĻ°āĻŖāĻžāĻ—āĻ¤ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ-āĻŸā§-āĻŽāĻžāĻ˛ā§āĻŸāĻŋāĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻ˛āĻŋāĻ™ā§āĻ•ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ "āĻĒāĻ°āĻŋāĻŦāĻšāĻ¨ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛" āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ ns-3 āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ•.

āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻŦāĻŋāĻ­āĻžāĻ— āĻĨā§‡āĻ•ā§‡ āĻ¸ā§āĻŽāĻ°āĻŖ āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻšāĻ˛ āĻĻā§āĻŸāĻŋ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻĒā§āĻ°āĻŦā§‡āĻļ āĻ•āĻ°āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻ¯āĻŧ
āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ•āĻ˛ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¯ā§‹āĻ—āĻžāĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻ‡ āĻ¸āĻŽāĻ¯āĻŧā§‡ āĻ•āĻ˛āĻŋāĻ‚ āĻĄāĻŋāĻ•āĻĒāĻ˛āĻŋāĻ‚ āĻ•āĻ°ā§‡
āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ­āĻžāĻŦā§‡ āĻŦāĻ˛āĻž āĻ•ā§āĻ˛āĻžāĻ¸ āĻĨā§‡āĻ•ā§‡ āĻĢāĻžāĻ‚āĻļāĻ¨. āĻāĻŸāĻŋ āĻ‰āĻĒāĻ°ā§‡ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻāĻ•āĻ‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧāĻ¤āĻž
āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻœāĻ¨ā§āĻ¯āĨ¤

āĻŽā§‚āĻ˛āĻ¤, āĻāĻ•āĻŸāĻŋ āĻŸā§āĻ°ā§‡āĻ¸ āĻ‰ā§ŽāĻ¸ is āĻāĻ•āĻŸāĻŋ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻ¯āĻžāĻ¤ā§‡ āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŋāĻ¤ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤
āĻ¯āĻ–āĻ¨ āĻāĻ•āĻŸāĻŋ āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸āĻŋāĻ™ā§āĻ• āĻŸā§āĻ°ā§‡āĻ¸ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸāĻ—ā§āĻ˛āĻŋ āĻĒā§‡āĻ¤ā§‡ āĻ†āĻ—ā§āĻ°āĻš āĻĒā§āĻ°āĻ•āĻžāĻļ āĻ•āĻ°ā§‡, āĻ¤āĻ–āĻ¨ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡
āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ…āĻ¨ā§āĻˇā§āĻ āĻŋāĻ¤ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ•ā§‡āĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĨ¤ āĻāĻ•āĻŸāĻŋ āĻ†āĻ•āĻ°ā§āĻˇāĻŖā§€āĻ¯āĻŧ āĻ˜āĻŸāĻ¨āĻž āĻ˜āĻŸāĻ˛ā§‡, āĻŸā§āĻ°ā§‡āĻ¸
āĻ‰ā§ŽāĻ¸ āĻ¤āĻžāĻ° āĻ†āĻšā§āĻŦāĻžāĻ¨ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°() āĻļā§‚āĻ¨ā§āĻ¯ āĻŦāĻž āĻ¤āĻžāĻ° āĻŦā§‡āĻļāĻŋ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻāĻ‡ āĻ¸ā§‚āĻ¤ā§āĻ° āĻŦāĻ˛ā§‡
āĻāĻ•ā§‡ āĻāĻ•ā§‡ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ•ā§‡āĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ° āĻŽāĻ§ā§āĻ¯ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¨āĨ¤ āĻāĻ‡āĻ­āĻžāĻŦā§‡, āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°(āĻ—ā§āĻ˛āĻŋ)
āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸āĻŋāĻ™ā§āĻ•ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§‹āĻ—āĻžāĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¯āĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĢāĻžāĻ‚āĻļāĻ¨āĨ¤

āĻ¸āĻžāĻ°ā§āĻœāĻžāĻ°āĻŋāĻ° āĻ¸āĻšāĻœ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ
āĻ†āĻŽāĻ°āĻž āĻ¯āĻž āĻŦāĻ˛ā§‡āĻ›āĻŋ āĻ¤āĻž āĻļāĻ•ā§āĻ¤āĻŋāĻļāĻžāĻ˛ā§€ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĻā§āĻ°ā§āĻ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡ āĻšāĻžāĻāĻŸāĻ¤ā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž āĻĻāĻ°āĻ•āĻžāĻ°ā§€ āĻšāĻŦā§‡āĨ¤

# "ns3/object.h" āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§āĻ¨
# "ns3/uinteger.h" āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§āĻ¨
# "ns3/traced-value.h"" āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§āĻ¨
# "ns3/trace-source-accessor.h" āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§āĻ¨

# āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤

āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ ns3 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡;

āĻĒā§āĻ°āĻĨāĻŽ āĻœāĻŋāĻ¨āĻŋāĻ¸āĻŸāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§‡āĨ¤ āĻ‰āĻĒāĻ°ā§‡ āĻ‰āĻ˛ā§āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§‡, āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ
āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻāĻŦāĻ‚ āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ­āĻžāĻ°ā§€ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤ āĻĒā§āĻ°āĻĨāĻŽ āĻĻā§āĻŸāĻŋ āĻŽāĻ§ā§āĻ¯ā§‡ āĻ†āĻ¨āĻž āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤
āĻ¯āĻžāĻ°āĻž āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ˜ā§‹āĻˇāĻŖāĻž. āĻĢāĻžāĻ‡āĻ˛, āĻŸā§āĻ°ā§‡āĻ¸āĻĄ-āĻŽāĻžāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ†āĻ¸ā§‡
āĻ¤āĻĨā§āĻ¯ āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻœāĻ¨ā§āĻ¯ āĻ˜ā§‹āĻˇāĻŖāĻž āĻ¯ā§‡ āĻŽāĻžāĻ¨ āĻļāĻŦā§āĻĻāĻžāĻ°ā§āĻĨāĻŦāĻŋāĻĻā§āĻ¯āĻž āĻŽāĻžāĻ¨ā§‡.

āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ­āĻžāĻŦā§‡, āĻŽāĻžāĻ¨ āĻļāĻŦā§āĻĻāĻžāĻ°ā§āĻĨāĻŦāĻŋāĻĻā§āĻ¯āĻžāĻ° āĻŽāĻžāĻ¨ā§‡ āĻšāĻ˛ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻŦāĻ¸ā§āĻ¤ā§āĻŸāĻŋāĻ•ā§‡ āĻšāĻžāĻ°āĻĒāĻžāĻļā§‡ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¯āĻŧ
āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻŽāĻžāĻ¨ āĻļāĻŦā§āĻĻāĻžāĻ°ā§āĻĨāĻŦāĻŋāĻĻā§āĻ¯āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•āĻžāĻ›ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻšāĻŦā§‡
āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ āĻ•āĻĒāĻŋ āĻ•āĻ¨āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•ā§āĻŸāĻ° āĻāĻŦāĻ‚ āĻ…ā§āĻ¯āĻžāĻ¸āĻžāĻ‡āĻ¨āĻŽā§‡āĻ¨ā§āĻŸ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° āĻ‰āĻĒāĻ˛āĻŦā§āĻ§āĨ¤ āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧāĻ¤āĻž āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤
āĻĒā§āĻ˛ā§‡āĻ‡āĻ¨-āĻ“āĻ˛ā§āĻĄ-āĻĄā§‡āĻŸāĻž (POD) āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§‚āĻ°ā§āĻŦ-āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸ā§‡āĻŸ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ•āĻĨāĻž āĻŦāĻ˛āĻ¤ā§‡āĨ¤
āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°=, āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°++, āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°--, āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°+, āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°==, āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋāĨ¤

āĻāĻ‡ āĻ¸āĻŦ āĻŽāĻžāĻ¨ā§‡ āĻ•āĻŋ āĻ†āĻĒāĻ¨āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ•āĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻŸā§āĻ°ā§‡āĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻšāĻŦā§‡
āĻ¯āĻžāĻ°āĻž āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°.:

āĻ•ā§āĻ˛āĻžāĻ¸ MyObject: āĻĒāĻžāĻŦāĻ˛āĻŋāĻ• āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ
{
āĻĒā§āĻ°āĻ•āĻžāĻļā§āĻ¯:
āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻŸāĻžāĻ‡āĻĒāĻ†āĻ‡āĻĄāĻŋ GetTypeId (āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°)
{
āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• TypeId tid = TypeId ("MyObject")
.SetParent (āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ::GetTypeId ())
.AddConstructor ()
.AddTraceSource ("MyInteger",
"āĻŸā§āĻ°ā§‡āĻ¸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĒā§‚āĻ°ā§āĻŖāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ° āĻŽāĻžāĻ¨āĨ¤",
MakeTraceSourceAccessor (&MyObject::m_myInt))
;
āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ tid;
}

MyObject () {}
āĻŸā§āĻ°ā§‡āĻ¸āĻĄ āĻ­ā§āĻ¯āĻžāĻ˛ā§ m_myInt;
};

āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•ā§€āĻ­ā§‚āĻ¤, āĻāĻŦāĻ‚ āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸāĻ—ā§āĻ˛āĻŋ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡,
āĻāĻ•āĻŸāĻŋ āĻšāĻ¤ā§‡ āĻšāĻŦā§‡ ns-3 āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ āĻŦāĻ¸āĻŦāĻžāĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŸā§āĻ°ā§‡āĻ¸ āĻ‰ā§ŽāĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯āĨ¤ āĻĻā§āĻŸāĻŋ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻ˛āĻžāĻ‡āĻ¨
āĻ•ā§‹āĻĄ āĻšāĻ˛ .TraceSource āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻļā§€āĻ°ā§āĻˇ XNUMX āĻ—ā§āĻ˛ā§‹āĻŦāĻžāĻ˛ HR āĻāĻ•ā§āĻ¸āĻŋāĻ˛ā§‡āĻ¨ā§āĻ¸ āĻ…ā§āĻ¯āĻžāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄā§‡āĻ° āĻŸā§āĻ°ā§‡āĻ¸āĻĄ āĻ­ā§āĻ¯āĻžāĻ˛ā§ āĻ˜ā§‹āĻˇāĻŖāĻž

āĻ¸āĻžāĻ°ā§āĻœāĻžāĻ°āĻŋāĻ° .TraceSource āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ āĻŸā§āĻ°ā§‡āĻ¸ āĻ‰ā§ŽāĻ¸ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ "āĻšā§āĻ•" āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡
āĻĒā§ƒāĻĨāĻŋāĻŦā§€āĻ° āĻŦāĻžāĻ‡āĻ°ā§‡. āĻĻā§āĻ¯ āĻŸā§āĻ°ā§‡āĻ¸āĻĄ āĻ­ā§āĻ¯āĻžāĻ˛ā§ āĻ˜ā§‹āĻˇāĻŖāĻž āĻĒāĻ°āĻŋāĻ•āĻžāĻ āĻžāĻŽā§‹ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻ¯āĻž āĻ“āĻ­āĻžāĻ°āĻ˛ā§‹āĻĄ āĻ•āĻ°ā§‡
āĻ‰āĻĒāĻ°ā§‡ āĻ‰āĻ˛ā§āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° āĻāĻŦāĻ‚ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻšāĻžāĻ˛āĻžāĻ¯āĻŧāĨ¤:

āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°
IntTrace (Int oldValue, Int newValue)
{
std::cout << "āĻŸā§āĻ°ā§‡āĻ¸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ " << oldValue << " āĻĨā§‡āĻ•ā§‡ " << newValue << std::endl;
}

āĻāĻŸāĻŋ āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸āĻŋāĻ™ā§āĻ•ā§‡āĻ° āĻ¸āĻ‚āĻœā§āĻžāĻžāĨ¤ āĻāĻŸāĻŋ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŽāĻŋāĻ˛ā§‡ āĻ¯āĻžāĻ¯āĻŧāĨ¤
āĻāĻ‡ āĻĢāĻžāĻ‚āĻļāĻ¨āĻŸāĻŋ āĻ•āĻ˛ āĻ•āĻ°āĻž āĻšāĻŦā§‡ āĻ¯āĻ–āĻ¨āĻ‡ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°āĻĻā§‡āĻ° āĻāĻ•āĻœāĻ¨ āĻŸā§āĻ°ā§‡āĻ¸āĻĄ āĻ­ā§āĻ¯āĻžāĻ˛ā§ is
āĻ¨āĻŋāĻˇā§āĻĒāĻ¨ā§āĻ¨.:

āĻ•ā§‹āĻ¨ int
āĻĒā§āĻ°āĻ§āĻžāĻ¨ (int argc, char *argv[])
{
Ptr myObject = CreateObject ();

myObject->TraceConnectWithoutContext ("MyInteger", MakeCallback(&IntTrace));

myObject->m_myInt = 1234;
}

āĻāĻ‡ āĻ¸ā§āĻ¨āĻŋāĻĒā§‡āĻŸā§‡, āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻ¯ā§‡ āĻœāĻŋāĻ¨āĻŋāĻ¸āĻŸāĻŋ āĻ•āĻ°āĻž āĻĻāĻ°āĻ•āĻžāĻ° āĻ¤āĻž āĻšāĻ˛ āĻ¯ā§‡ āĻŦāĻ¸ā§āĻ¤ā§āĻŸāĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž
āĻŸā§āĻ°ā§‡āĻ¸ āĻ‰ā§ŽāĻ¸ āĻœā§€āĻŦāĻ¨.

āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ§āĻžāĻĒ, TraceConnectWithout Context, āĻŸā§āĻ°ā§‡āĻ¸ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ—āĻ āĻ¨ āĻ•āĻ°ā§‡
āĻ‰ā§ŽāĻ¸ āĻāĻŦāĻ‚ āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸āĻŋāĻ™ā§āĻ•. āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°ā§āĻ¨ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻ•āĻ°ā§āĻ¨ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ āĻĢāĻžāĻ‚āĻļāĻ¨āĨ¤ āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻšāĻžāĻ°
āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻŦāĻŋāĻ­āĻžāĻ— āĻ¯āĻž āĻāĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĻāĻžāĻ¯āĻŧā§€ āĻŦāĻŋāĻļā§‡āĻˇ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡
āĻ“āĻ­āĻžāĻ°āĻ˛ā§‹āĻĄ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°() āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ•āĻ•ā§‡ "āĻĢāĻžāĻ¯āĻŧāĻžāĻ°" āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻ“āĻ­āĻžāĻ°āĻ˛ā§‹āĻĄ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° (++, --, āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋ)
āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦā§‡ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°() āĻ†āĻ¸āĻ˛ā§‡ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻ†āĻšā§āĻŦāĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡. āĻĻā§āĻ¯ TraceConnectWithout Context,
āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻ¨ā§‡āĻ¯āĻŧ āĻ¯āĻž āĻŸā§āĻ°ā§‡āĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ā§‡āĻ° āĻ¨āĻžāĻŽ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡
āĻ¸ā§‚āĻ¤ā§āĻ°. āĻ†āĻ¸ā§āĻ¨ āĻāĻ–āĻ¨āĻ•āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ— āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻŦāĻŋāĻŸ āĻ‰āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻŋ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻāĻŸāĻŋ āĻāĻ–āĻ¨āĻ“ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻ¨āĻ¯āĻŧāĨ¤

āĻ…āĻŦāĻļā§‡āĻˇā§‡, āĻ˛āĻžāĻ‡āĻ¨,:

myObject->m_myInt = 1234;

āĻāĻ•āĻŸāĻŋ āĻ†āĻšā§āĻŦāĻžāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻž āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°= āĻ¸āĻĻāĻ¸ā§āĻ¯ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛ āĻ‰āĻĒāĻ° m_myInt āĻ¸āĻ™ā§āĻ—ā§‡
āĻĒā§‚āĻ°ā§āĻŖāĻ¸āĻ‚āĻ–ā§āĻ¯āĻž 1234 āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻĒāĻžāĻ¸ āĻ•āĻ°ā§‡āĻ›ā§‡āĨ¤ āĻĻā§‡āĻ–āĻž āĻ¯āĻžāĻšā§āĻ›ā§‡ āĻ¯ā§‡ āĻāĻ‡ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°āĻŸāĻŋ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (āĻĻā§āĻŦāĻžāĻ°āĻž
āĻŸā§āĻ°ā§‡āĻ¸āĻĄ āĻ­ā§āĻ¯āĻžāĻ˛ā§) āĻāĻ•āĻŸāĻŋ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻ¤ā§‡ āĻ¯āĻž āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻĻā§āĻŸāĻŋ āĻĒā§‚āĻ°ā§āĻŖāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ° āĻŽāĻžāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¨ā§‡āĻ¯āĻŧ
āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ -- āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻžāĻ¨ā§‹ āĻŽāĻžāĻ¨ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻļā§āĻ¨ā§‡ āĻĨāĻžāĻ•āĻž āĻĒā§‚āĻ°ā§āĻŖāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻžāĻ¨ā§ˇ āĻ āĻŋāĻ• āĻ¤āĻžāĻ‡
āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡āĻ›āĻŋ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¸ā§āĻŦāĻžāĻ•ā§āĻˇāĻ° -- āĻ‡āĻ¨ā§āĻŸā§āĻ°āĻžāĻ¸.

āĻ¸āĻ‚āĻ•ā§āĻˇā§‡āĻĒā§‡ āĻŦāĻ˛āĻ¤ā§‡ āĻ—ā§‡āĻ˛ā§‡, āĻāĻ•āĻŸāĻŋ āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻšāĻ˛, āĻ¸āĻžāĻ°āĻŽāĻ°ā§āĻŽā§‡, āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛ āĻ¯āĻž āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ•ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§‡āĨ¤ āĻ•
āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸āĻŋāĻ™ā§āĻ• āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ•ā§‡āĻ° āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻāĻŦāĻ‚ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ§āĻ°āĻ¨
āĻ¤āĻĨā§āĻ¯ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻ—ā§āĻ˛āĻŋ āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸ā§‹āĻ°ā§āĻ¸āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸āĻŋāĻ™ā§āĻ•āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻĻā§āĻ¯
āĻāĻ•āĻŸāĻŋ āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸ā§‹āĻ°ā§āĻ¸āĻ•ā§‡ "āĻšāĻŋāĻŸ" āĻ•āĻ°āĻžāĻ° āĻ•āĻžāĻœāĻŸāĻŋ āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸ā§‹āĻ°ā§āĻ¸ā§‡ āĻāĻ•āĻœāĻ¨ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°āĻ•ā§‡ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻš āĻ•āĻ°āĻ›ā§‡ āĻ¯āĻž āĻĢāĻžāĻ¯āĻŧāĻžāĻ° āĻ•āĻ°ā§‡
āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻāĻ° āĻĢāĻ˛ā§‡ āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸āĻŋāĻ™ā§āĻ• āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ•āĻ—ā§āĻ˛āĻŋ āĻ‰āĻ¤ā§āĻ¸ā§‡ āĻ†āĻ—ā§āĻ°āĻš āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ āĻ•āĻ°ā§‡ā§ˇ
āĻ‰āĻ¤ā§āĻ¸ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻ˛ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ā§ˇ

āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻĻā§āĻ¯ āĻ•āĻ¨āĻĢāĻŋāĻ— āĻ¸āĻžāĻŦāĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻĨā§‡āĻ•ā§‡ āĻšāĻŋāĻšā§āĻ¨ āĻ¸ā§‹āĻ°ā§āĻ¸
āĻ¸āĻžāĻ°ā§āĻœāĻžāĻ°āĻŋāĻ° TraceConnectWithout Context āĻ¸āĻšāĻœ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡ āĻ‰āĻĒāĻ°ā§‡ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹ āĻ•āĻ˛ āĻ†āĻ¸āĻ˛ā§‡ āĻ–ā§āĻŦ
āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻ–ā§āĻŦ āĻ•āĻŽāĻ‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻ†āĻ°ā§‹ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤, āĻ•āĻ¨āĻĢāĻŋāĻ— āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻāĻŋāĻ¤ā§‡ āĻ¸āĻžāĻŦāĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻāĻ•āĻŸāĻŋ āĻŸā§āĻ°ā§‡āĻ¸ āĻ‰ā§ŽāĻ¸ āĻ¯āĻžāĻ•ā§‡ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ āĻ¤āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ— āĻĒāĻĨ.

āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ•ā§‡āĻ‰ āĻāĻŽāĻ¨ āĻ•āĻŋāĻ›ā§ āĻ–ā§āĻāĻœā§‡ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¯āĻž āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤āĻŸāĻŋāĻ° āĻŽāĻ¤ā§‹ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ (āĻ—ā§ƒāĻšā§€āĻ¤
āĻĨā§‡āĻ•ā§‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ/tcp-large-transfer.cc):

void CwndTracer (uint32_t oldval, uint32_t newval) {}

...

Config::ConnectWithoutContext (
"/NodeList/0/$ns3::TcpL4Protocol/SocketList/0/CongestionWindow",
āĻŽā§‡āĻ•āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• (&CwndTracer));

āĻāĻ‡ āĻ–ā§āĻŦ āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻšāĻŦā§‡. āĻāĻŸāĻŋ āĻŦāĻžāĻĻ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ†āĻ—ā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻŽāĻ¤ā§‹ āĻāĻ•āĻ‡ āĻœāĻŋāĻ¨āĻŋāĻ¸
āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻ¸āĻĻāĻ¸ā§āĻ¯ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ•āĻ¨āĻĢāĻŋāĻ— āĻāĻ•āĻŸāĻŋ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻ•āĻ˛ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯;
āĻāĻŦāĻ‚ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ—ā§āĻŖ āĻ¨āĻžāĻŽ, āĻāĻ•āĻŸāĻŋ āĻĒāĻĨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡āĨ¤

āĻĒā§āĻ°āĻĨāĻŽ āĻ•āĻžāĻœāĻŸāĻŋ āĻš'āĻ˛ āĻĒāĻĨāĻŸāĻŋ āĻĒāĻŋāĻ›āĻŋāĻ¯āĻŧā§‡ āĻĒāĻĄāĻŧāĻžāĨ¤ āĻĒāĻĨā§‡āĻ° āĻļā§‡āĻˇ āĻ¸ā§‡āĻ—āĻŽā§‡āĻ¨ā§āĻŸ āĻšāĻ¤ā§‡ āĻšāĻŦā§‡
an āĻ—ā§āĻŖ āĻāĻ•āĻœāĻ¨ āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯. āĻ†āĻ¸āĻ˛ā§‡, āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻ›āĻŋāĻ˛ āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ āĻ¯ā§‡ āĻ†āĻ›ā§‡
"āĻœāĻŸ āĻœāĻžāĻ¨āĻžāĻ˛āĻž" āĻ—ā§āĻŖ āĻ¸āĻšāĻœ (āĻāĻŸāĻŋāĻ•ā§‡ āĻ•āĻ˛ āĻ•āĻ°ā§āĻ¨ āĻŦāĻ¸ā§āĻ¤ā§), āĻ†āĻĒāĻ¨āĻŋ āĻ āĻŋāĻ• āĻāĻ‡ āĻŽāĻ¤ āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻ†āĻ—ā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ:

void CwndTracer (uint32_t oldval, uint32_t newval) {}

...

theObject->TraceConnectWithoutContext ("CongestionWindow", MakeCallback (&CwndTracer));

āĻāĻŸāĻž āĻ¯ā§‡ āĻœāĻ¨ā§āĻ¯ āĻ•ā§‹āĻĄ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ†āĻ‰āĻŸ Config::ConnectWithoutContext āĻ āĻŋāĻ• āĻ¤āĻžāĻ‡ āĻ•āĻ°ā§‡āĨ¤ āĻāĻ‡
āĻĢāĻžāĻ‚āĻļāĻ¨ āĻāĻ•āĻŸāĻŋ āĻĒāĻĨ āĻ¨ā§‡āĻ¯āĻŧ āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻšā§‡āĻ‡āĻ¨ āĻĒā§āĻ°āĻ¤āĻŋāĻ¨āĻŋāĻ§āĻŋāĻ¤ā§āĻŦ āĻ•āĻ°ā§‡ āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻ• āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ¤āĻžāĻĻā§‡āĻ° āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ
āĻĒāĻžāĻĨā§‡āĻ° āĻļā§‡āĻˇā§‡ āĻ¯āĻžāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻļā§‡āĻˇ āĻ¸ā§‡āĻ—āĻŽā§‡āĻ¨ā§āĻŸāĻŸāĻŋāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻž āĻ•āĻ°ā§‡ āĻ—ā§āĻŖ āĻ¸āĻ°ā§āĻŦāĻļā§‡āĻˇā§‡
āĻŦāĻ¸ā§āĻ¤ā§ āĻāĻ° āĻ•āĻŋ āĻšāĻ¯āĻŧ āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻšāĻžāĻāĻŸāĻž āĻ¯āĻžāĻ•.

āĻĒāĻĨā§‡āĻ° āĻ…āĻ—ā§āĻ°āĻŖā§€ "/" āĻ…āĻ•ā§āĻˇāĻ°āĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¤āĻĨāĻžāĻ•āĻĨāĻŋāĻ¤ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨āĻ•ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°ā§‡ā§ˇ āĻ…āĻ¨ā§āĻ¯āĻ¤āĻŽ
āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻĒā§‚āĻ°ā§āĻŦāĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ āĻšāĻ˛ "āĻ¨ā§‹āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸ" āĻ¯āĻž āĻ¸āĻ•āĻ˛ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¨ā§‹āĻĄ. āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ° āĻ†āĻ‡āĻŸā§‡āĻŽ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸ā§‚āĻšāĻ• āĻĻā§āĻŦāĻžāĻ°āĻž āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻ‡
"/NodeList/0" āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ¨ā§‹āĻĄā§‡āĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ° āĻœāĻŋāĻ°ā§‹āĻĨ āĻ¨ā§‹āĻĄāĻ•ā§‡ āĻŦā§‹āĻāĻžāĻ¯āĻŧāĨ¤
āĻāĻ‡ āĻ¨ā§‹āĻĄ āĻ†āĻ¸āĻ˛ā§‡ āĻāĻ•āĻŸāĻŋ Ptr āĻāĻŦāĻ‚ āĻ¤āĻžāĻ‡ an āĻāĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻŦāĻ•ā§āĻ˛āĻžāĻ¸ ns3::āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ.

āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ-āĻŽāĻĄā§‡āĻ˛ āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§‡, ns-3 āĻāĻ•āĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§ āĻāĻ•āĻ¤ā§āĻ°ā§€āĻ•āĻ°āĻŖ āĻŽāĻĄā§‡āĻ˛ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻĻā§āĻ¯
āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻĒāĻžāĻĨ āĻ¸ā§‡āĻ—āĻŽā§‡āĻ¨ā§āĻŸ "$" āĻ…āĻ•ā§āĻˇāĻ° āĻĻāĻŋāĻ¯āĻŧā§‡ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧ āĻ¯āĻž a āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°ā§‡ GetObject āĻ•āĻ˛ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤
āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ¯ā§‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ–ā§āĻāĻœāĻ›ā§‡āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡. āĻ¯āĻ–āĻ¨ āĻāĻ•āĻŸāĻŋ āĻ¨ā§‹āĻĄ āĻāĻ•āĻŸāĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ†āĻ°āĻŽā§āĻ­ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ¨ā§‡āĻŸāĻ¸ā§āĻŸā§āĻ¯āĻžāĻ•āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ° āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻ¨ā§‹āĻĄā§‡ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻšāĻ˛
āĻŸāĻŋāĻ¸āĻŋāĻĒāĻŋ āĻ˛ā§‡āĻ­ā§‡āĻ˛ āĻĢā§‹āĻ° āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛āĨ¤ āĻāĻ‡ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āĻ° āĻ°āĻžāĻ¨āĻŸāĻžāĻ‡āĻŽ āĻšāĻ˛ ns3::TcpL4Protocol''āĨ¤
āĻ•āĻ–āĻ¨ āĻĻā§āĻ¯ ``āĻ—ā§‡āĻŸāĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻŋāĻ¤ āĻšāĻ¯āĻŧ, āĻāĻŸāĻŋ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻŦāĻ¸ā§āĻ¤ā§āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡āĨ¤

āĻ¸āĻžāĻ°ā§āĻœāĻžāĻ°āĻŋāĻ° TcpL4 āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻ•ā§āĻ˛āĻžāĻ¸ "āĻ¸āĻ•ā§‡āĻŸāĻ˛āĻŋāĻ¸ā§āĻŸ" āĻ¨āĻžāĻŽāĻ• āĻāĻ•āĻŸāĻŋ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ•ā§‡ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°ā§‡ āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž
āĻ¸āĻ•ā§‡āĻŸ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¸āĻ•ā§‡āĻŸ āĻ†āĻ¸āĻ˛ā§‡ āĻāĻ•āĻŸāĻŋ ns3::āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¨āĻŋāĻœā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ†āĻ°ā§‹āĻĒ āĻ•āĻ°āĻž. āĻŽāĻ§ā§āĻ¯ā§‡ āĻ†āĻ‡āĻŸā§‡āĻŽ
āĻ¨ā§‹āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸā§‡āĻ° āĻŽāĻ¤ā§‹āĻ‡ āĻ¸āĻ•ā§‡āĻŸā§‡āĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ¸ā§‚āĻšāĻ• āĻĻā§āĻŦāĻžāĻ°āĻž āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻ‡ "āĻ¸āĻ•ā§‡āĻŸāĻ˛āĻŋāĻ¸ā§āĻŸ/0"
āĻ¨ā§‹āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸā§‡ āĻœāĻŋāĻ°ā§‹āĻĨ āĻ¨ā§‹āĻĄā§‡āĻ° āĻ¸āĻ•ā§‡āĻŸā§‡āĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ¯āĻŧ āĻœāĻŋāĻ°ā§‹āĻĨ āĻ¸āĻ•ā§‡āĻŸāĻ•ā§‡ āĻŦā§‹āĻāĻžāĻ¯āĻŧ --
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ā§‡ āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻĒā§āĻ°āĻĨāĻŽ āĻ¨ā§‹āĻĄāĨ¤

āĻāĻ‡ āĻ¸āĻ•ā§‡āĻŸ, āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻšāĻ¤ā§‡ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ†āĻ‰āĻŸ ns3::TcpSocketImpl āĻāĻ•āĻŸāĻŋ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°ā§‡
"āĻ•āĻ¨āĻœā§‡āĻ¸āĻ¨ āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹" āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻŸā§āĻ°ā§‡āĻ¸āĻĄ āĻ­ā§āĻ¯āĻžāĻ˛ā§. āĻĻā§āĻ¯
Config::ConnectWithoutContext āĻāĻ–āĻ¨ āĻāĻ•āĻŸāĻŋ āĻ•āĻ°ā§‡,:

āĻŦāĻ¸ā§āĻ¤ā§->TraceConnectWithoutContext ("CongestionWindow", MakeCallback (&CwndTracer));

"āĻ¸āĻ•ā§‡āĻŸāĻ˛āĻŋāĻ¸ā§āĻŸ/0" āĻĨā§‡āĻ•ā§‡ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¯āĻž āĻŸā§āĻ°ā§‡āĻ¸ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡
āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ•ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ•ā§‡āĻŸā§‡ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ‰ā§ŽāĻ¸ -- CwndTracer.

āĻāĻ–āĻ¨, āĻ¯āĻ–āĻ¨āĻ‡ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻŸā§āĻ°ā§‡āĻ¸āĻĄ āĻ­ā§āĻ¯āĻžāĻ˛ā§ āĻ¯āĻžāĻ¨āĻœāĻŸā§‡āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ¨āĻŋāĻ§āĻŋāĻ¤ā§āĻŦ āĻ•āĻ°ā§‡
TCP āĻ¸āĻ•ā§‡āĻŸā§‡ āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹, āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŋāĻ¤ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻĢāĻžāĻ‚āĻļāĻ¨
CwndTracer āĻŸāĻŋāĻ¸āĻŋāĻĒāĻŋ āĻ•āĻ¨āĻœā§‡āĻļāĻ¨ā§‡āĻ° āĻĒā§āĻ°āĻžāĻ¨ā§‹ āĻāĻŦāĻ‚ āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻžāĻ¨ āĻŽā§āĻĻā§āĻ°āĻŖ āĻŦāĻ˛āĻž āĻšāĻŦā§‡
āĻœāĻžāĻ¨āĻ˛āĻž.

āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻĻā§āĻ¯ āĻ°āĻšāĻ¨āĻž āĻāĻĒāĻŋāĻ†āĻ‡
āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ…ā§āĻ¯āĻžāĻ•āĻļāĻ¨ā§‡āĻ° āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻ¸ā§āĻ¤āĻ° āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:

¡ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ¸āĻšāĻœā§‡āĻ‡ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ•ā§‹āĻ¨ āĻŦāĻ¸ā§āĻ¤ā§āĻ—ā§āĻ˛āĻŋ āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚āĻ¯āĻŧā§‡ āĻ…āĻ‚āĻļāĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°āĻ›ā§‡;

¡ āĻŽāĻ§ā§āĻ¯āĻŦāĻ°ā§āĻ¤ā§€ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻ‰ā§ŽāĻĒāĻ¨ā§āĻ¨ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻ•ā§‡ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻŦāĻž āĻāĻ° āĻŽā§‚āĻ˛ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ¨āĻž āĻ•āĻ°ā§‡āĻ‡ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻŸā§āĻ°ā§‡āĻ¸ āĻ‰āĻ¤ā§āĻ¸āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ‰āĻĒāĻžāĻ¯āĻŧā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨ā§ˇ
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°;

¡ āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻ¨āĻ¤ā§āĻ¨ āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ‰āĻ¤ā§āĻ¸ āĻāĻŦāĻ‚ āĻ¸āĻŋāĻ™ā§āĻ• āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻ•ā§‹āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻšāĻŋāĻšā§āĻ¨ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€
āĻ¸āĻžāĻ°ā§āĻœāĻžāĻ°āĻŋāĻ° ns-3 āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸āĻšāĻžāĻ¯āĻŧāĻ• āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻāĻŦāĻ‚ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽā§ƒāĻĻā§āĻ§ āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡
āĻ˜āĻŸāĻ¨āĻžāĻ—ā§āĻ˛āĻŋ āĻŸā§āĻ°ā§‡āĻ¸ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ˛āĻŋāĻ–ā§āĻ¨āĨ¤ āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§€ āĻŦāĻŋāĻ­āĻžāĻ—ā§‡, āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ•āĻ­āĻžāĻŦā§‡ "āĻŦāĻŋāĻ˛ā§āĻĄāĻŋāĻ‚
āĻŸāĻĒā§‹āĻ˛āĻœāĻŋāĻ¸," āĻ†āĻŽāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻ•āĻ°āĻž āĻŸā§āĻ°ā§‡āĻ¸ āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĒā§āĻ°āĻ•āĻžāĻ° āĻĻā§‡āĻ–ā§‡āĻ›āĻŋ
āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ (āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸) āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡āĨ¤

āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ‡ āĻŦā§ˆāĻšāĻŋāĻ¤ā§āĻ°ā§āĻ¯ā§‡āĻ° āĻ•āĻŋāĻ›ā§ āĻĻā§‡āĻ–ā§‡ āĻŽāĻ¨ā§‡ āĻ•āĻ°āĻŦā§‡āĻ¨:

pointToPoint.EnablePcapAll ("āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ");
pointToPoint.EnablePcap ("āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ", p2pNodes.Get (0)->GetId (), 0);
csma.EnablePcap ("āĻ¤ā§ƒāĻ¤ā§€āĻ¯āĻŧ", csmaDevices.Get (0), āĻ¸āĻ¤ā§āĻ¯);
pointToPoint.EnableAsciiAll (ascii.CreateFileStream ("myfirst.tr"));

āĻ¯āĻž āĻ¸ā§āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻ¨āĻžāĻ“ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ¯āĻĻāĻŋāĻ“, āĻ¸āĻŦāĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯āĻĒā§‚āĻ°ā§āĻŖ āĻŽāĻĄā§‡āĻ˛ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ā§ˇ
āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻŸā§āĻ°ā§‡āĻ¸-āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĨ¤ āĻ†āĻŽāĻ°āĻž āĻāĻ–āĻ¨ āĻāĻ•āĻŸā§ āĻ¸āĻŽāĻ¯āĻŧ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻĻā§‡āĻ–ā§‡ āĻ¨ā§‡āĻŦ
"āĻŦāĻĄāĻŧ āĻ›āĻŦāĻŋ" āĻ

āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§‡ āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ°āĻ—ā§āĻ˛āĻŋāĻ° āĻĻā§āĻŸāĻŋ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ā§ˇ ns-3: āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€
āĻāĻŦāĻ‚ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€āĨ¤ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻ•ā§‹āĻ¨ āĻŸā§āĻ°ā§‡āĻ¸ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻŸāĻŋ āĻĻā§‡āĻ–ā§‡
āĻāĻ•āĻŸāĻŋ āĻ¨ā§‹āĻĄ, āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻœā§‹āĻĄāĻŧāĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ†āĻĒāĻ¨āĻŋ āĻ¸ā§‡āĻ‡ pcap āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¨ā§‹āĻĄā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡ āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤ āĻāĻ‡ āĻĨā§‡āĻ•ā§‡ āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ āĻ•āĻ°ā§‡
ns-3 āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻ§āĻžāĻ°āĻŖāĻžāĻ—āĻ¤ āĻŽāĻĄā§‡āĻ˛, āĻāĻŦāĻ‚ āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡āĻ° āĻ§āĻžāĻ°āĻŖāĻžāĻ—āĻ¤ āĻŽāĻĄā§‡āĻ˛
āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€ āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ•āĻ­āĻžāĻŦā§‡āĻ‡ āĻāĻ° āĻĨā§‡āĻ•ā§‡ āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ āĻ•āĻ°ā§‡, āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ āĻ•āĻ°ā§‡
- - āĻ¨āĻžāĻŽāĻ•āĻ°āĻŖā§‡āĻ° āĻ°ā§€āĻ¤āĻŋāĨ¤

āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻ•ā§‹āĻ¨ āĻŸā§āĻ°ā§‡āĻ¸ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻŸāĻŋ āĻĻā§‡āĻ–ā§‡
āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻāĻŦāĻ‚ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻœā§‹āĻĄāĻŧāĻžāĨ¤ āĻāĻ‡ āĻĨā§‡āĻ•ā§‡ āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ āĻ•āĻ°ā§‡ ns-3 āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ• āĻ§āĻžāĻ°āĻŖāĻžāĻ—āĻ¤ āĻŽāĻĄā§‡āĻ˛,
āĻāĻŦāĻ‚ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ¨ā§‡āĻŸ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ• āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€āĻ° āĻ§āĻžāĻ°āĻŖāĻžāĻ—āĻ¤ āĻŽāĻĄā§‡āĻ˛āĨ¤ āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ•āĻ­āĻžāĻŦā§‡āĻ‡, āĻŸā§āĻ°ā§‡āĻ¸ āĻĢāĻžāĻ‡āĻ˛
āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ - - āĻ¨āĻžāĻŽāĻ•āĻ°āĻŖā§‡āĻ° āĻ°ā§€āĻ¤āĻŋāĨ¤

āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻ¤āĻžāĻ‡ āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ•āĻ­āĻžāĻŦā§‡āĻ‡ āĻĻā§āĻŦāĻŋ-āĻŽāĻžāĻ¤ā§āĻ°āĻŋāĻ• āĻļā§āĻ°ā§‡āĻŖā§€āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ā§‡ āĻĒāĻĄāĻŧā§‡āĨ¤ āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡
āĻ¸ā§‚āĻ•ā§āĻˇā§āĻŽāĻ¤āĻž āĻ¯āĻž āĻšāĻžāĻ°āĻŸāĻŋ āĻļā§āĻ°ā§‡āĻŖā§€āĻ•ā§‡ āĻ…āĻ­āĻŋāĻ¨ā§āĻ¨ āĻ†āĻšāĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻŦāĻžāĻ§āĻž āĻĻā§‡āĻ¯āĻŧ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻŽāĻ°āĻž āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻŋ
āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻ•āĻ˛āĻ•ā§‡ āĻ¯āĻ¤āĻŸāĻž āĻ¸āĻŽā§āĻ­āĻŦ āĻāĻ•āĻ‡āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻĻāĻŋāĻ¨; āĻāĻŦāĻ‚ āĻ¯āĻ–āĻ¨āĻ‡ āĻ¸āĻŽā§āĻ­āĻŦ āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…ā§āĻ¯āĻžāĻ¨āĻžāĻ˛āĻ— āĻ†āĻ›ā§‡
āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĨ¤

┌───────────────────────────────────
│ │ pcap │ ascii │
├────────────────â”ŧ─────â”ŧ────────────
│āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ° │ │ │
├────────────────â”ŧ─────â”ŧ────────────
│āĻĒā§āĻ°āĻŸā§‹āĻ•āĻ˛ āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ° │ │ │
└────────────────┴─────┴────┴───────

āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ¨āĻžāĻŽāĻ• āĻāĻ•āĻŸāĻŋ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋ āĻŽāĻŋāĻļā§āĻ°āĻŖ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ° āĻ•ā§āĻ˛āĻžāĻ¸ā§‡ āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡āĨ¤ āĻ•
āĻŽāĻŋāĻļā§āĻ°āĻŖ āĻāĻ•āĻŸāĻŋ āĻļā§āĻ°ā§‡āĻŖā§€ āĻ¯āĻž āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻŦāĻ•ā§āĻ˛āĻžāĻ¸ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ‰āĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ°āĻ¸ā§‚āĻ¤ā§āĻ°ā§‡ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤
āĻāĻ•āĻŸāĻŋ āĻŽāĻŋāĻ•ā§āĻ¸āĻŋāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻ‰āĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ° āĻ¸ā§‚āĻ¤ā§āĻ°ā§‡ āĻĒāĻžāĻ“āĻ¯āĻŧāĻžāĻ•ā§‡ āĻŦāĻŋāĻļā§‡āĻˇā§€āĻ•āĻ°āĻŖā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻĢāĻ°ā§āĻŽ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻž āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ‡ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻ¯āĻŧ
āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĨ¤

āĻ†āĻ¸ā§āĻ¨ āĻāĻ‡ āĻšāĻžāĻ°āĻŸāĻŋ āĻŽāĻžāĻŽāĻ˛āĻž āĻāĻŦāĻ‚ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¨āĻŋāĻœ āĻ¨āĻŋāĻœ āĻŦāĻŋāĻˇāĻ¯āĻŧā§‡ āĻĻā§āĻ°ā§āĻ¤ āĻ¨āĻœāĻ° āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ• āĻŽāĻŋāĻļā§āĻ°āĻŖ.

Pcap āĻ°āĻšāĻ¨āĻž āĻ¯āĻ¨ā§āĻ¤ā§āĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€
āĻāĻ‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯āĻĒā§‚āĻ°ā§āĻŖ pcap āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻ¸āĻšāĻœ āĻ•āĻ°āĻž
ns-3 āĻ¯āĻ¨ā§āĻ¤ā§āĻ°. āĻ†āĻŽāĻ°āĻž āĻšāĻžāĻ‡ pcap āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚-āĻāĻ° āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĢā§āĻ˛ā§‡āĻ­āĻžāĻ° āĻāĻ•āĻ‡āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§āĻ•
āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸, āĻ¤āĻžāĻ‡ āĻāĻ‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ‰āĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ°āĻ¸ā§‚āĻ¤ā§āĻ°ā§‡ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻāĻ• āĻ¨āĻœāĻ° āĻĻā§‡āĻ–ā§‡ āĻ¨āĻžāĻ“
at src/network/helper/trace-helper.h āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻ–āĻ¨ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨
āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻ•ā§‹āĻĄāĨ¤

āĻļā§āĻ°ā§‡āĻŖā§€ PcapHelperForDevice āĻ‡āĻšāĻž āĻāĻ•āĻŸāĻŋ āĻŽāĻŋāĻļā§āĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻšā§āĻš āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡
āĻāĻ•āĻŸāĻŋ āĻŽāĻ§ā§āĻ¯ā§‡ pcap āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ ns-3 āĻ¯āĻ¨ā§āĻ¤ā§āĻ°. āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻž āĻ†āĻŦāĻļā§āĻ¯āĻ•
āĻāĻ‡ āĻ•ā§āĻ˛āĻžāĻ¸ āĻĨā§‡āĻ•ā§‡ āĻ‰āĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ°āĻ¸ā§‚āĻ¤ā§āĻ°ā§‡ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤āĨ¤:

āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° EnablePcapInternal (std::string prefix, Ptr nd, bool promiscuous) = 0;

āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ¸ā§āĻŦāĻžāĻ•ā§āĻˇāĻ° āĻāĻ‡ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ° āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸-āĻ•ā§‡āĻ¨ā§āĻĻā§āĻ°āĻŋāĻ• āĻĻā§ƒāĻˇā§āĻŸāĻŋāĻ­āĻ™ā§āĻ—āĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻĢāĻ˛āĻŋāĻ¤ āĻ•āĻ°ā§‡
āĻ¸ā§āĻ¤āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻžāĻŦāĻ˛āĻŋāĻ• āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ āĻĨā§‡āĻ•ā§‡ āĻ‰āĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ°āĻ¸ā§‚āĻ¤ā§āĻ°ā§‡ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ PcapUserHelperForDevice āĻ•āĻŽāĻžāĻ¤ā§‡
āĻāĻ‡ āĻāĻ•āĻ• āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸-āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ•āĻ˛āĻŋāĻ‚. āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ¸āĻ°ā§āĻŦāĻ¨āĻŋāĻŽā§āĻ¨ āĻ¸ā§āĻ¤āĻ°
pcap āĻĒāĻĻā§āĻ§āĻ¤āĻŋ,:

void EnablePcap (std::string prefix, Ptr nd, bool promiscuous = āĻŽāĻŋāĻĨā§āĻ¯āĻž, bool explicitFilename = āĻŽāĻŋāĻĨā§āĻ¯āĻž);

āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ˛ āĻ•āĻ°āĻŦā§‡ PcapInternal āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§āĻ¨ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ…āĻ¨ā§āĻ¯ āĻ¸āĻŦ āĻĒāĻžāĻŦāĻ˛āĻŋāĻ• pcap
āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€-āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻĒā§āĻ°āĻĻāĻžāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ‡ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡
āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻ•āĻžāĻ›ā§‡ āĻāĻ° āĻ…āĻ°ā§āĻĨ āĻ•ā§€ āĻ¯ā§‡ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻ•āĻ°āĻŦā§‡
āĻ¸āĻŽāĻ¸ā§āĻ¤ pcap āĻŸā§āĻ°ā§‡āĻ¸ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻ†āĻ›ā§‡; āĻāĻŦāĻ‚ āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¸āĻŦ āĻāĻ•āĻ‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻŦā§‡
āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻœā§āĻĄāĻŧā§‡ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻ¯āĻĻāĻŋ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ PcapInternal āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§āĻ¨ āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡āĨ¤

Pcap āĻ°āĻšāĻ¨āĻž āĻ¯āĻ¨ā§āĻ¤ā§āĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ
void EnablePcap (std::string prefix, Ptr nd,
bool promiscuous = āĻŽāĻŋāĻĨā§āĻ¯āĻž, bool explicitFilename = āĻŽāĻŋāĻĨā§āĻ¯āĻž);
void EnablePcap (std::string āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—, std::string ndName,
bool promiscuous = āĻŽāĻŋāĻĨā§āĻ¯āĻž, bool explicitFilename = āĻŽāĻŋāĻĨā§āĻ¯āĻž);
void EnablePcap (std::āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—, NetDeviceContainer d,
bool promiscuous = āĻŽāĻŋāĻĨā§āĻ¯āĻž);
void EnablePcap (std::āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—, NodeContainer n,
bool promiscuous = āĻŽāĻŋāĻĨā§āĻ¯āĻž);
void EnablePcap (std::string prefix, uint32_t nodeid, uint32_t deviceid,
bool promiscuous = āĻŽāĻŋāĻĨā§āĻ¯āĻž);
void EnablePcapAll (std::āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—, bool promiscuous = āĻŽāĻŋāĻĨā§āĻ¯āĻž);

āĻ‰āĻĒāĻ°ā§‡ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋāĻ¤ā§‡, āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ āĻ…āĻļā§āĻ˛ā§€āĻ˛ āĻ¯ā§‡
āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻĨā§‡āĻ•ā§‡ āĻŽāĻŋāĻĨā§āĻ¯āĻž āĻāĻ‡ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻŸā§āĻ°ā§‡āĻ¸āĻŸāĻŋ āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ¨āĻ¯āĻŧ
āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻ…āĻŦāĻ¸ā§āĻĨāĻž. āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻšāĻžāĻ¨ āĻ†āĻĒāĻ¨āĻžāĻ° āĻŸā§āĻ°ā§‡āĻ¸ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĻā§‡āĻ–āĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŸā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻ• āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡
(āĻāĻŦāĻ‚ āĻ¯āĻĻāĻŋ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸āĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻŽāĻŋāĻ¸āĻ•āĻŋāĻ‰āĻ¯āĻŧāĻžāĻ¸ āĻŽā§‹āĻĄ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡) āĻ•ā§‡āĻŦāĻ˛āĻŽāĻžāĻ¤ā§āĻ° āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ āĻāĻ•āĻŸāĻŋāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ¤ā§āĻ¯ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨
āĻ‰āĻĒāĻ°ā§‡ āĻ•āĻ˛. āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ,:

Ptr nd;
...
helper.EnablePcap ("āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—", nd, āĻ¸āĻ¤ā§āĻ¯);

āĻ¤ā§‡ āĻĒā§āĻ°āĻŽāĻŋāĻ¸āĻ•āĻŋāĻ‰āĻ¯āĻŧāĻžāĻ¸ āĻŽā§‹āĻĄ āĻ•ā§āĻ¯āĻžāĻĒāĻšāĻžāĻ° āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻŦā§‡ āĻ¨ā§‡āĻŸāĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ nd.

āĻĒā§āĻ°āĻĨāĻŽ āĻĻā§āĻŸāĻŋ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋāĻ“ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ āĻ“āĻ‡āĻŸāĻž āĻšāĻŦā§‡
āĻ¨ā§€āĻšā§‡ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤

āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻ•ā§āĻ¸āĻŋāĻœā§‡āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻ‰ā§ŽāĻ¸āĻžāĻšāĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ PcapHelperForDevice āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻœāĻžāĻ¨āĻ¤ā§‡
āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ; āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¸āĻ‚āĻ•ā§āĻˇā§‡āĻĒā§‡...

āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¨ā§‹āĻĄ/āĻ¨ā§‡āĻŸ-āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻœā§‹āĻĄāĻŧāĻžāĻ¯āĻŧ pcap āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
Ptr āĻāĻ•āĻŸāĻŋāĻ¤ā§‡ āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻĒ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§āĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻĻā§āĻ¯ Ptr āĻ¨ā§‡āĻŸ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻĨā§‡āĻ•ā§‡ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤
āĻ āĻŋāĻ• āĻāĻ•āĻœāĻ¨ā§‡āĻ° āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ—āĻ¤ āĻšāĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¨ā§‹āĻĄ. āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ,:

Ptr nd;
...
helper.EnablePcap ("āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—", nd);

āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¨ā§‹āĻĄ/āĻ¨ā§‡āĻŸ-āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻœā§‹āĻĄāĻŧāĻžāĻ¯āĻŧ pcap āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
std::āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻāĻ•āĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ¨āĻžāĻŽ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ¨āĻŋāĻ§āĻŋāĻ¤ā§āĻŦ āĻ•āĻ°ā§‡ āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻĒ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§āĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻĻā§āĻ¯
Ptr āĻ¨āĻžāĻŽ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻĨā§‡āĻ•ā§‡ āĻĻā§‡āĻ–āĻž āĻšāĻ¯āĻŧ. āĻ†āĻŦāĻžāĻ°, āĻĨā§‡āĻ•ā§‡ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤
āĻ¨āĻžāĻŽāĻ¯ā§āĻ•ā§āĻ¤ āĻ¨ā§‡āĻŸ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸āĻŸāĻŋ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻāĻ•āĻŸāĻŋāĻ° āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ—āĻ¤ āĻ¨ā§‹āĻĄ. āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ,:

āĻ¨āĻžāĻŽ::āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ ("āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°" ...);
āĻ¨āĻžāĻŽ::āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ ("āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°/eth0" ...);
...
helper.EnablePcap ("āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—", "server/ath0");

āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻ¨ā§‹āĻĄ/āĻ¨ā§‡āĻŸ-āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻœā§‹āĻĄāĻŧāĻžāĻ° āĻ¸āĻ‚āĻ—ā§āĻ°āĻšā§‡ pcap āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
NetDevice ContainerāĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯, āĻĒā§āĻ°āĻ¤ā§āĻ¯ā§‡āĻ•āĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨ā§‡āĻŸāĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻĒāĻžāĻ¤ā§āĻ°ā§‡ āĻŸāĻžāĻ‡āĻĒ āĻšā§‡āĻ• āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯
āĻ¸āĻ āĻŋāĻ• āĻ§āĻ°āĻŖā§‡āĻ° āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ (āĻ¯ā§‡āĻŽāĻ¨ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻāĻ•āĻ‡ āĻ§āĻ°āĻŖā§‡āĻ°), āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚
āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ†āĻŦāĻžāĻ°, āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¨ā§‡āĻŸ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸āĻŸāĻŋ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻšā§āĻŦāĻšā§ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ—āĻ¤
āĻāĻ• āĻ¨ā§‹āĻĄ. āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ,:

NetDeviceContainer d = ...;
...
helper.EnablePcap ("āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—", d);

āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻ¨ā§‹āĻĄ/āĻ¨ā§‡āĻŸ-āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻœā§‹āĻĄāĻŧāĻžāĻ° āĻ¸āĻ‚āĻ—ā§āĻ°āĻšā§‡ pcap āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻ¨ā§‹āĻĄāĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ°āĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯, āĻĒā§āĻ°āĻ¤ā§āĻ¯ā§‡āĻ•āĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨ā§‹āĻĄ āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¨ā§‹āĻĄāĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° āĻāĻŸāĻŋ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ NetDevices āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨ā§‡āĻŸāĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻĒāĻžāĻ¤ā§āĻ°ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¨ā§‹āĻĄā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤, āĻ¸ā§‡āĻ‡ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡āĻ° āĻ§āĻ°āĻ¨
āĻšā§‡āĻ• āĻ•āĻ°āĻž āĻ¸āĻ āĻŋāĻ• āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ (āĻāĻ•āĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧ
āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€), āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤:

āĻ¨ā§‹āĻĄāĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° n;
...
helper.EnablePcap ("āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—", n);

āĻ†āĻĒāĻ¨āĻŋ āĻ¨ā§‹āĻĄ āĻ†āĻ‡āĻĄāĻŋ āĻāĻŦāĻ‚ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻ†āĻ‡āĻĄāĻŋāĻ° āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ­āĻžāĻŦā§‡ pcap āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
ptrāĨ¤ āĻĒā§āĻ°āĻ¤āĻŋ āĻ¨ā§‹āĻĄ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§‚āĻ°ā§āĻŖāĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ¨ā§‹āĻĄ āĻ†āĻ‡āĻĄāĻŋ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻāĻ•āĻŸāĻŋ āĻ¨ā§‹āĻĄā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡
āĻāĻ•āĻŸāĻŋ āĻĒā§‚āĻ°ā§āĻŖāĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻ†āĻ‡āĻĄāĻŋ āĻ†āĻ›ā§‡āĨ¤

helper.EnablePcap ("āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—", 21, 1);

āĻ…āĻŦāĻļā§‡āĻˇā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ pcap āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻāĻ•āĻ‡ āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡
āĻ¯ā§‡āĻŸāĻŋ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻŋāĻ¤āĨ¤:

helper.EnablePcapAll ("āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—");

Pcap āĻ°āĻšāĻ¨āĻž āĻ¯āĻ¨ā§āĻ¤ā§āĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨
āĻ‰āĻĒāĻ°ā§‡āĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻšāĻ˛ āĻāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ
āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĨ¤ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§€, pcap āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻŸā§āĻ°ā§‡āĻ¸ āĻ•āĻ°ā§‡ ns-3 āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĢāĻ°ā§āĻŽ āĻšāĻ¯āĻŧ
- āĻ†āĻ‡āĻĄāĻŋ>- id>.pcap

āĻĒā§‚āĻ°ā§āĻŦā§‡ āĻ‰āĻ˛ā§āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§‡, āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¨ā§‹āĻĄā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ-āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻ¨ā§‹āĻĄ āĻ†āĻ‡āĻĄāĻŋ āĻĨāĻžāĻ•āĻŦā§‡; āĻāĻŦāĻ‚
āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡āĻ° āĻ¨ā§‹āĻĄā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻāĻ•āĻŸāĻŋ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻ¸ā§‚āĻšāĻ• (āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻ†āĻ‡āĻĄāĻŋāĻ“ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ) āĻĨāĻžāĻ•āĻŦā§‡āĨ¤
āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡, āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡, āĻĒā§āĻ°āĻĨāĻŽāĻŸāĻŋāĻ¤ā§‡ āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻžāĻ° āĻĢāĻ˛ā§‡ āĻāĻ•āĻŸāĻŋ pcap āĻŸā§āĻ°ā§‡āĻ¸ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻšāĻ¯āĻŧ
āĻ‰āĻĒāĻ¸āĻ°ā§āĻ— āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¨ā§‹āĻĄ 21 āĻāĻ° āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ "āĻĒā§āĻ°āĻŋāĻĢāĻŋāĻ•ā§āĻ¸" āĻšāĻŦā§‡ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—-21-1.pcap.

āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻŦāĻ¸āĻŽāĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ ns-3 āĻāĻŸāĻŋ āĻ†āĻ°āĻ“ āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ¨āĻžāĻŽ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ¯āĻĻāĻŋ
āĻ†āĻĒāĻ¨āĻŋ āĻ¨ā§‹āĻĄ 21-āĻ "āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°" āĻ¨āĻžāĻŽ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°āĻ¤ā§‡ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¨ā§‡āĻŽ āĻ¸āĻžāĻ°ā§āĻ­āĻŋāĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĻ¨, āĻĢāĻ˛ā§‡ pcap
āĻŸā§āĻ°ā§‡āĻ¸ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻšāĻ¯āĻŧā§‡ āĻ¯āĻžāĻŦā§‡, prefix-server-1.pcap āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°ā§‡āĻ¨
āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡ "eth0" āĻ¨āĻžāĻŽ āĻĻāĻŋāĻ¨, āĻ†āĻĒāĻ¨āĻžāĻ° pcap āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻāĻŸāĻŋ āĻ‰āĻ āĻŦā§‡ āĻāĻŦāĻ‚ āĻšāĻŦā§‡
āĻ¨āĻžāĻŽāĻ• āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—-āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°-eth0.pcap.

āĻ…āĻŦāĻļā§‡āĻˇā§‡, āĻ‰āĻĒāĻ°ā§‡ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻĻā§āĻŸāĻŋ,:

void EnablePcap (std::string prefix, Ptr nd, bool promiscuous = āĻŽāĻŋāĻĨā§āĻ¯āĻž, bool explicitFilename = āĻŽāĻŋāĻĨā§āĻ¯āĻž);
void EnablePcap (std::string prefix, std::string ndName, bool promiscuous = āĻŽāĻŋāĻĨā§āĻ¯āĻž, bool explicitFilename = āĻŽāĻŋāĻĨā§āĻ¯āĻž);

āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻ†āĻ›ā§‡ āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ. āĻ¸āĻ¤ā§āĻ¯ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ˛ā§‡, āĻāĻ‡ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ
āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ āĻ¸āĻŽāĻžāĻĒā§āĻ¤āĻŋ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¨āĻŋāĻˇā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧ
āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽāĨ¤ āĻāĻ‡ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻŸāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¸ā§‡āĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻ¯āĻž a-āĻ¤ā§‡ pcap āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§‡
āĻāĻ•āĻ• āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸

āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻĒā§āĻ°āĻŽāĻŋāĻ¸āĻ•āĻŋāĻ‰āĻ¸ pcap āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€āĻ° āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯
āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¨āĻžāĻŽā§‡āĻ° āĻĢāĻžāĻ‡āĻ˛ āĻ•ā§āĻ¯āĻžāĻĒāĻšāĻžāĻ° (my-pcap-file.pcap) āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡, āĻ•ā§‡āĻ‰ āĻĒāĻžāĻ°ā§‡:

Ptr nd;
...
helper.EnablePcap ("my-pcap-file.pcap", nd, true, true);

āĻĒā§āĻ°āĻĨāĻŽ āĻ¸āĻ¤ā§āĻ¯ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ promiscuous āĻŽā§‹āĻĄ āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧāĻŸāĻŋ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€āĻ•ā§‡ āĻŦāĻ˛ā§‡
āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻž āĻ•āĻ°āĻ¤ā§‡ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ— āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°āĨ¤

ASCII āĻ°āĻšāĻ¨āĻž āĻ¯āĻ¨ā§āĻ¤ā§āĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€
Ascii āĻŸā§āĻ°ā§‡āĻ¸ āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ° āĻ†āĻšāĻ°āĻŖ āĻŽāĻŋāĻļā§āĻ°āĻŖ pcap āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡āĻ° āĻŽāĻ¤ā§‹ āĻ¯āĻĨā§‡āĻˇā§āĻŸāĨ¤
āĻ¤āĻžāĻ•āĻžāĻ¨ src/network/helper/trace-helper.h āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨
āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻ•ā§‹āĻĄ āĻĻā§‡āĻ–āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧāĨ¤

āĻļā§āĻ°ā§‡āĻŖā§€ AsciiTraceHelperForDevice ascii āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻšā§āĻš āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡
āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€ āĻ•ā§āĻ˛āĻžāĻ¸ āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚. pcap āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ¯ā§‡āĻŽāĻ¨, āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸āĻ•ā§‡ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡
āĻāĻ•āĻ• āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ ascii āĻŸā§āĻ°ā§‡āĻ¸ āĻĨā§‡āĻ•ā§‡ āĻ‰āĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ°āĻ¸ā§‚āĻ¤ā§āĻ°ā§‡ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻŽāĻŋāĻļā§āĻ°āĻŖ.:

āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻļā§‚āĻ¨ā§āĻ¯āĻ¤āĻž EnableAsciiInternal (Ptr āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ, std::āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—, Ptr nd) = 0;

āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ¸ā§āĻŦāĻžāĻ•ā§āĻˇāĻ° āĻāĻ‡ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ° āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸-āĻ•ā§‡āĻ¨ā§āĻĻā§āĻ°āĻŋāĻ• āĻĻā§ƒāĻˇā§āĻŸāĻŋāĻ­āĻ™ā§āĻ—āĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻĢāĻ˛āĻŋāĻ¤ āĻ•āĻ°ā§‡
āĻ¸ā§āĻ¤āĻ° āĻāĻŦāĻ‚ āĻāĻŸāĻŋāĻ“ āĻ¯ā§‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€ āĻāĻ•āĻŸāĻŋ āĻ­āĻžāĻ— āĻ•āĻ°āĻž āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¸ā§āĻŸā§āĻ°ā§€āĻŽā§‡ āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ¸āĻŦ
āĻĒāĻžāĻŦāĻ˛āĻŋāĻ• ascii-āĻŸā§āĻ°ā§‡āĻ¸-āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ āĻĨā§‡āĻ•ā§‡ āĻ‰āĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ°āĻ¸ā§‚āĻ¤ā§āĻ°ā§‡ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ AsciiTraceHelperForDevice
āĻāĻ‡ āĻāĻ•āĻ• āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸-āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ•ā§‡ āĻ•āĻ˛ āĻ•āĻ°āĻž āĻ•āĻŽ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻĻ
āĻ¸āĻ°ā§āĻŦāĻ¨āĻŋāĻŽā§āĻ¨ āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° ascii āĻŸā§āĻ°ā§‡āĻ¸ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ,:

void EnableAscii (std::string prefix, Ptr nd);
āĻļā§‚āĻ¨ā§āĻ¯ EnableAscii (Ptr āĻĒā§āĻ°āĻŦāĻžāĻš, Ptr nd);

āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ˛ āĻ•āĻ°āĻŦā§‡ AsciiInternal āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§āĻ¨ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ, āĻšāĻ¯āĻŧ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨
āĻŦā§ˆāĻ§ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ— āĻŦāĻž āĻĒā§āĻ°āĻŦāĻžāĻšāĨ¤ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ¸āĻ•āĻ˛ āĻĒāĻžāĻŦāĻ˛āĻŋāĻ• ascii āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻāĻ—ā§āĻ˛ā§‹āĻ° āĻ‰āĻĒāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻšāĻŦā§‡
āĻ¨āĻŋāĻŽā§āĻ¨-āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€-āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡āĨ¤ āĻāĻ‡ āĻŽāĻžāĻ¨ā§‡ āĻ•āĻŋ
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻšāĻ˛ āĻ¯ā§‡ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ ascii āĻŸā§āĻ°ā§‡āĻ¸ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻĨāĻžāĻ•āĻŦā§‡
āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻāĻŦāĻ‚ āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻœā§āĻĄāĻŧā§‡ āĻāĻ•āĻ‡ āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻŦā§‡ āĻ¯āĻĻāĻŋ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸āĻ—ā§āĻ˛āĻŋ āĻĨāĻžāĻ•ā§‡
āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻāĻ¨āĻžāĻŦāĻ˛ āĻ…ā§āĻ¯āĻžāĻ¸āĻŋāĻ†āĻ‡ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ¨āĻžāĻ˛ āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡āĨ¤

ASCII āĻ°āĻšāĻ¨āĻž āĻ¯āĻ¨ā§āĻ¤ā§āĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ
void EnableAscii (std::string prefix, Ptr nd);
āĻļā§‚āĻ¨ā§āĻ¯ EnableAscii (Ptr āĻĒā§āĻ°āĻŦāĻžāĻš, Ptr nd);

void EnableAscii (std::string prefix, std::string ndName);
void EnableAscii (Ptr āĻ¸ā§āĻŸā§āĻ°ā§€āĻŽ, std::string ndName);

void EnableAscii (std::āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—, NetDeviceContainer d);
āĻļā§‚āĻ¨ā§āĻ¯ EnableAscii (Ptr āĻ¸ā§āĻŸā§āĻ°ā§€āĻŽ, NetDeviceContainer d);

void EnableAscii (std::āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—, NodeContainer n);
āĻļā§‚āĻ¨ā§āĻ¯ EnableAscii (Ptr āĻĒā§āĻ°āĻŦāĻžāĻš, NodeContainer n);

void EnableAscii (std::string prefix, uint32_t nodeid, uint32_t deviceid);
void EnableAscii (Ptr āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ, uint32_t nodeid, uint32_t deviceid);

void EnableAsciiAll (std::āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—);
void EnableAsciiAll (Ptr āĻĒā§āĻ°āĻŦāĻžāĻš);

āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻ•ā§āĻ¸āĻŋāĻœā§‡āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻ‰ā§ŽāĻ¸āĻžāĻšāĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ TraceHelperForDevice āĻ–ā§āĻāĻœā§‡ āĻĒā§‡āĻ¤ā§‡
āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻŦāĻŋāĻŦāĻ°āĻŖ; āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¸āĻ‚āĻ•ā§āĻˇā§‡āĻĒā§‡...

ascii āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻāĻ° āĻœāĻ¨ā§āĻ¯ pcap āĻāĻ° āĻ¤ā§āĻ˛āĻ¨āĻžāĻ¯āĻŧ āĻĻā§āĻŦāĻŋāĻ—ā§āĻŖ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡
āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻāĻ° āĻ•āĻžāĻ°āĻŖ, pcap-āĻļā§ˆāĻ˛ā§€ āĻŽāĻĄā§‡āĻ˛ āĻ›āĻžāĻĄāĻŧāĻžāĻ“ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĨā§‡āĻ•ā§‡ āĻŸā§āĻ°ā§‡āĻ¸ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧ
āĻ…āĻ¨āĻ¨ā§āĻ¯ āĻ¨ā§‹āĻĄ/āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻœā§‹āĻĄāĻŧāĻž āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨āĻ¨ā§āĻ¯ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧ, āĻ†āĻŽāĻ°āĻž āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻŽāĻĄā§‡āĻ˛āĻ•ā§‡ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°āĻŋ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻŸā§āĻ°ā§‡āĻ¸
āĻ…āĻ¨ā§‡āĻ• āĻ¨ā§‹āĻĄ/āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻœā§‹āĻĄāĻŧāĻžāĻ° āĻ¤āĻĨā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻ° āĻŽāĻžāĻ¨ā§‡ āĻšāĻ˛ āĻ¯ā§‡
- - āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻļāĻ¨ āĻŽā§‡āĻ•āĻžāĻ¨āĻŋāĻœāĻŽ āĻāĻ•āĻŸāĻŋ āĻŽā§‡āĻ•āĻžāĻ¨āĻŋāĻœāĻŽ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻŋāĻ¤ āĻšāĻ¯āĻŧ
āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĢāĻžāĻ‡āĻ˛ āĻĒāĻĄāĻŧā§āĻ¨; āĻāĻŦāĻ‚ API āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ¸āĻ•āĻ˛āĻ•ā§‡ āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĻā§āĻŦāĻŋāĻ—ā§āĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
āĻ¸āĻ‚āĻŽāĻŋāĻļā§āĻ°āĻŖāĨ¤

āĻ āĻŋāĻ• āĻ¯ā§‡āĻŽāĻ¨ pcap āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¨ā§‹āĻĄ/āĻ¨ā§‡āĻŸ-āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻœā§‹āĻĄāĻŧāĻžāĻ¯āĻŧ ascii āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ Ptr āĻāĻ•āĻŸāĻŋāĻ¤ā§‡ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°ā§āĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻĻā§āĻ¯ Ptr āĻĨā§‡āĻ•ā§‡ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤
āĻ¨ā§‡āĻŸ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸āĻŸāĻŋ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻāĻ•āĻŸāĻŋāĻ° āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ—āĻ¤ āĻ¨ā§‹āĻĄ. āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ,:

Ptr nd;
...
helper.EnableAscii ("āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—", nd);

āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ•ā§‹āĻ¨ā§‹ āĻŸā§āĻ°ā§‡āĻ¸ āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ— ascii āĻŸā§āĻ°ā§‡āĻ¸ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧ āĻ¨āĻž āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻšāĻŦā§‡
āĻ…āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻāĻ•āĻ‡ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ āĻŦāĻžāĻ›āĻžāĻ‡ āĻ•āĻ°āĻŦā§‡
pcap āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤, āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ ".tr" āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻ¯āĻŧ āĻĨāĻžāĻ•āĻŦā§‡
".pcap"āĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻ¨ā§‡āĻŸ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡ ascii āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨ āĻāĻŦāĻ‚ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŸā§āĻ°ā§‡āĻ¸ āĻĒāĻžāĻ āĻžāĻ¤ā§‡ āĻšāĻžāĻ¨
āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻĢāĻžāĻ‡āĻ˛ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻĢāĻžāĻ‡āĻ˛ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĻ“ āĻāĻŸāĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨:

Ptr nd1;
Ptr nd2;
...
Ptr stream = asciiTraceHelper.CreateFileStream ("trace-file-name.tr");
...
helper.EnableAscii (āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ, nd1);
helper.EnableAscii (āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ, nd2);

āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻŸā§āĻ°ā§‡āĻ¸ āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ—āĻ—ā§āĻ˛āĻŋ ascii āĻŸā§āĻ°ā§‡āĻ¸ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ¤āĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¯āĻŧ
āĻĻā§āĻŸāĻŋ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻĨā§‡āĻ•ā§‡ āĻŸā§āĻ°ā§‡āĻ¸ āĻĻā§āĻŦā§āĻ¯āĻ°ā§āĻĨāĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡. āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–ā§āĻ¯ āĻ¯ā§‡ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡
āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°ā§‡, āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚āĻŸāĻŋāĻ¤ā§‡ āĻ§āĻžāĻ°āĻžāĻŦāĻžāĻšāĻŋāĻ•āĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯ ".tr" āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¨ā§‹āĻĄ/āĻ¨ā§‡āĻŸ-āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻœā§‹āĻĄāĻŧāĻžāĻ¯āĻŧ ascii āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
std::āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻāĻ•āĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ¨āĻžāĻŽ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ¨āĻŋāĻ§āĻŋāĻ¤ā§āĻŦ āĻ•āĻ°ā§‡ āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻĒ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§āĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻĻā§āĻ¯
Ptr āĻ¨āĻžāĻŽ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻĨā§‡āĻ•ā§‡ āĻĻā§‡āĻ–āĻž āĻšāĻ¯āĻŧ. āĻ†āĻŦāĻžāĻ°, āĻĨā§‡āĻ•ā§‡ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤
āĻ¨āĻžāĻŽāĻ¯ā§āĻ•ā§āĻ¤ āĻ¨ā§‡āĻŸ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸āĻŸāĻŋ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻāĻ•āĻŸāĻŋāĻ° āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ—āĻ¤ āĻ¨ā§‹āĻĄ. āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ,:

āĻ¨āĻžāĻŽ::āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ ("āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ" ...);
āĻ¨āĻžāĻŽ::āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ ("āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ/eth0" ...);
āĻ¨āĻžāĻŽ::āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ ("āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°" ...);
āĻ¨āĻžāĻŽ::āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ ("āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°/eth0" ...);
...
helper.EnableAscii ("āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—", "āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ/eth0");
helper.EnableAscii ("āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—", "āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°/eth0");

āĻāĻ° āĻĢāĻ˛ā§‡ āĻ¨āĻžāĻŽ āĻĻā§āĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛ āĻšāĻŦā§‡ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—-āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ-eth0.tr āĻāĻŦāĻ‚ prefix-server-eth0.tr āĻ¸āĻ™ā§āĻ—ā§‡
āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ āĻŸā§āĻ°ā§‡āĻ¸ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŸā§āĻ°ā§‡āĻ¸āĨ¤ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ¸āĻŦāĻ—ā§āĻ˛ā§‹ EnableAscii
āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ āĻŽā§‹āĻĄāĻŧāĻ• āĻ¨āĻŋāĻ¤ā§‡ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ“āĻ­āĻžāĻ°āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ†āĻĒāĻ¨āĻŋ āĻ¸ā§‡āĻ‡ āĻĢāĻ°ā§āĻŽāĻŸāĻŋāĻ“ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨:

āĻ¨āĻžāĻŽ::āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ ("āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ" ...);
āĻ¨āĻžāĻŽ::āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ ("āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ/eth0" ...);
āĻ¨āĻžāĻŽ::āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ ("āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°" ...);
āĻ¨āĻžāĻŽ::āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ ("āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°/eth0" ...);
...
Ptr stream = asciiTraceHelper.CreateFileStream ("trace-file-name.tr");
...
helper.EnableAscii (āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ, "āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ/eth0");
helper.EnableAscii (āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ, "āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°/eth0");

āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻŸā§āĻ°ā§‡āĻ¸ āĻĢāĻžāĻ‡āĻ˛ āĻ¨āĻžāĻŽāĻ• āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻšāĻŦā§‡ trace-file-name.tr āĻ¯ā§‡ āĻ¸āĻŦ āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§‡
āĻ‰āĻ­āĻ¯āĻŧ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ˜āĻŸāĻ¨āĻž āĻŸā§āĻ°ā§‡āĻ¸. āĻ˜āĻŸāĻ¨āĻž āĻŸā§āĻ°ā§‡āĻ¸ āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ— āĻĻā§āĻŦāĻžāĻ°āĻž āĻĻā§āĻŦāĻŋāĻ§āĻžāĻŦāĻŋāĻ­āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻŦā§‡
āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚āĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻ¨ā§‹āĻĄ/āĻ¨ā§‡āĻŸ-āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻœā§‹āĻĄāĻŧāĻžāĻ° āĻ¸āĻ‚āĻ—ā§āĻ°āĻšā§‡ ascii āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
NetDevice ContainerāĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯, āĻĒā§āĻ°āĻ¤ā§āĻ¯ā§‡āĻ•āĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨ā§‡āĻŸāĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻĒāĻžāĻ¤ā§āĻ°ā§‡ āĻŸāĻžāĻ‡āĻĒ āĻšā§‡āĻ• āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯
āĻ¸āĻ āĻŋāĻ• āĻ§āĻ°āĻŖā§‡āĻ° āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ (āĻ¯ā§‡āĻŽāĻ¨ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻāĻ•āĻ‡ āĻ§āĻ°āĻŖā§‡āĻ°), āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚
āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ†āĻŦāĻžāĻ°, āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¨ā§‡āĻŸ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸āĻŸāĻŋ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻšā§āĻŦāĻšā§ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ—āĻ¤
āĻāĻ• āĻ¨ā§‹āĻĄ. āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ,:

NetDeviceContainer d = ...;
...
helper.EnableAscii ("āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—", d);

āĻāĻ° āĻĢāĻ˛ā§‡ āĻ…āĻ¨ā§‡āĻ•āĻ—ā§āĻ˛āĻŋ ascii āĻŸā§āĻ°ā§‡āĻ¸ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻšāĻŦā§‡, āĻ¯āĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
āĻĻā§āĻ¯ - - .tr āĻ•āĻ¨āĻ­ā§‡āĻ¨āĻļāĻ¨āĨ¤ āĻāĻ•āĻŸāĻŋ āĻŽāĻ§ā§āĻ¯ā§‡ āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸āĻŦ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻž
āĻāĻ•āĻ• āĻĢāĻžāĻ‡āĻ˛ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻ…āĻ¨ā§āĻ°ā§‚āĻĒāĻ­āĻžāĻŦā§‡ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻšāĻ¯āĻŧ:

NetDeviceContainer d = ...;
...
Ptr stream = asciiTraceHelper.CreateFileStream ("trace-file-name.tr");
...
helper.EnableAscii (āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ, āĻĄāĻŋ);

āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻ¨ā§‹āĻĄ/āĻ¨ā§‡āĻŸ-āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻœā§‹āĻĄāĻŧāĻžāĻ° āĻ¸āĻ‚āĻ—ā§āĻ°āĻšā§‡ ascii āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻ¨ā§‹āĻĄāĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ°āĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯, āĻĒā§āĻ°āĻ¤ā§āĻ¯ā§‡āĻ•āĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨ā§‹āĻĄ āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¨ā§‹āĻĄāĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° āĻāĻŸāĻŋ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ NetDevices āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨ā§‡āĻŸāĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻĒāĻžāĻ¤ā§āĻ°ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¨ā§‹āĻĄā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤, āĻ¸ā§‡āĻ‡ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡āĻ° āĻ§āĻ°āĻ¨
āĻšā§‡āĻ• āĻ•āĻ°āĻž āĻ¸āĻ āĻŋāĻ• āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ (āĻāĻ•āĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧ
āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€), āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤:

āĻ¨ā§‹āĻĄāĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° n;
...
helper.EnableAscii ("āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—", n);

āĻāĻ° āĻĢāĻ˛ā§‡ āĻ…āĻ¨ā§‡āĻ•āĻ—ā§āĻ˛āĻŋ ascii āĻŸā§āĻ°ā§‡āĻ¸ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻšāĻŦā§‡, āĻ¯āĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
āĻĻā§āĻ¯ - - .tr āĻ•āĻ¨āĻ­ā§‡āĻ¨āĻļāĻ¨āĨ¤ āĻāĻ•āĻŸāĻŋ āĻŽāĻ§ā§āĻ¯ā§‡ āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸āĻŦ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻž
āĻāĻ•āĻ• āĻĢāĻžāĻ‡āĻ˛ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻ…āĻ¨ā§āĻ°ā§‚āĻĒāĻ­āĻžāĻŦā§‡ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻšāĻ¯āĻŧ:

āĻ†āĻĒāĻ¨āĻŋ āĻ¨ā§‹āĻĄ āĻ†āĻ‡āĻĄāĻŋ āĻāĻŦāĻ‚ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻ†āĻ‡āĻĄāĻŋāĻ° āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ­āĻžāĻŦā§‡ pcap āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
ptrāĨ¤ āĻĒā§āĻ°āĻ¤āĻŋ āĻ¨ā§‹āĻĄ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§‚āĻ°ā§āĻŖāĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ¨ā§‹āĻĄ āĻ†āĻ‡āĻĄāĻŋ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻāĻ•āĻŸāĻŋ āĻ¨ā§‹āĻĄā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡
āĻāĻ•āĻŸāĻŋ āĻĒā§‚āĻ°ā§āĻŖāĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻ†āĻ‡āĻĄāĻŋ āĻ†āĻ›ā§‡āĨ¤

helper.EnableAscii ("āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—", 21, 1);

āĻ…āĻŦāĻļā§āĻ¯āĻ‡, āĻ‰āĻĒāĻ°ā§‡ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŸā§āĻ°ā§‡āĻ¸āĻ—ā§āĻ˛āĻŋ āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ…āĻŦāĻļā§‡āĻˇā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ pcap āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻāĻ•āĻ‡ āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡
āĻ¯ā§‡āĻŸāĻŋ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻŋāĻ¤āĨ¤:

helper.EnableAsciiAll ("āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—");

āĻāĻ° āĻĢāĻ˛ā§‡ āĻ…āĻ¨ā§‡āĻ•āĻ—ā§āĻ˛āĻŋ ascii āĻŸā§āĻ°ā§‡āĻ¸ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻšāĻŦā§‡, āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ
āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻŋāĻ¤ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĨ¤ āĻāĻ‡ āĻ¸āĻŦ āĻĢāĻžāĻ‡āĻ˛ āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ āĻ•āĻ°āĻŦā§‡
- - .tr āĻ•āĻ¨āĻ­ā§‡āĻ¨āĻļāĻ¨āĨ¤ āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻŽāĻ§ā§āĻ¯ā§‡ āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸āĻŦ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤
āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ—ā§āĻ˛āĻŋāĻ° āĻ…āĻ¨ā§āĻ°ā§‚āĻĒāĻ­āĻžāĻŦā§‡ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻšāĻ¯āĻŧāĨ¤

ASCII āĻ°āĻšāĻ¨āĻž āĻ¯āĻ¨ā§āĻ¤ā§āĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨
āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—-āĻļā§ˆāĻ˛ā§€ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻšāĻ˛ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ
āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽāĨ¤ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§€, ascii āĻŽāĻ§ā§āĻ¯ā§‡ āĻŸā§āĻ°ā§‡āĻ¸ ns-3 āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻšāĻ¯āĻŧ
āĻĢāĻ°ā§āĻŽā§‡āĻ° - āĻ†āĻ‡āĻĄāĻŋ>- id>.tr.

āĻĒā§‚āĻ°ā§āĻŦā§‡ āĻ‰āĻ˛ā§āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§‡, āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¨ā§‹āĻĄā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ-āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻ¨ā§‹āĻĄ āĻ†āĻ‡āĻĄāĻŋ āĻĨāĻžāĻ•āĻŦā§‡; āĻāĻŦāĻ‚
āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡āĻ° āĻ¨ā§‹āĻĄā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻāĻ•āĻŸāĻŋ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻ¸ā§‚āĻšāĻ• (āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻ†āĻ‡āĻĄāĻŋāĻ“ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ) āĻĨāĻžāĻ•āĻŦā§‡āĨ¤
āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡, āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡, āĻĒā§āĻ°āĻĨāĻŽāĻŸāĻŋāĻ¤ā§‡ āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻžāĻ° āĻĢāĻ˛ā§‡ āĻāĻ•āĻŸāĻŋ ascii āĻŸā§āĻ°ā§‡āĻ¸ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻšāĻ¯āĻŧ
āĻ¨ā§‹āĻĄ 21-āĻāĻ° āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸, "āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—" āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡, āĻšāĻŦā§‡ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—-21-1.tr.

āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻŦāĻ¸āĻŽāĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ ns-3 āĻāĻŸāĻŋ āĻ†āĻ°āĻ“ āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ¨āĻžāĻŽ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ¯āĻĻāĻŋ
āĻ†āĻĒāĻ¨āĻŋ āĻ¨ā§‹āĻĄ 21 āĻ "āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°" āĻ¨āĻžāĻŽ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°āĻ¤ā§‡ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¨ā§‡āĻŽ āĻ¸āĻžāĻ°ā§āĻ­āĻŋāĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĻ¨, āĻĢāĻ˛ā§‡
ascii āĻŸā§āĻ°ā§‡āĻ¸ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻšāĻ¯āĻŧā§‡ āĻ¯āĻžāĻŦā§‡, prefix-server-1.tr āĻāĻŦāĻ‚ āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻŋāĻ“ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°ā§‡āĻ¨
āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡ "eth0" āĻ¨āĻžāĻŽ āĻĻāĻŋāĻ˛ā§‡, āĻ†āĻĒāĻ¨āĻžāĻ° ascii āĻŸā§āĻ°ā§‡āĻ¸ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻāĻŸāĻŋ āĻ¤ā§āĻ˛ā§‡ āĻ¨ā§‡āĻŦā§‡
āĻāĻŦāĻ‚ āĻŦāĻ˛āĻž āĻšāĻŦā§‡ prefix-server-eth0.tr.

Pcap āĻ°āĻšāĻ¨āĻž āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€
āĻāĻ—ā§āĻ˛ā§‹āĻ° āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻŽāĻŋāĻļā§āĻ°āĻŖ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯āĻĒā§‚āĻ°ā§āĻŖ pcap āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻ¸āĻšāĻœ āĻ•āĻ°ā§‡ āĻ¤ā§‹āĻ˛ā§‡
āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻ†āĻŽāĻ°āĻž āĻšāĻžāĻ‡ pcap āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚-āĻāĻ° āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĢā§āĻ˛ā§‡āĻ­āĻžāĻ° āĻ¸āĻŦ āĻœā§āĻĄāĻŧā§‡ āĻāĻ•āĻ‡ āĻ°āĻ•āĻŽ āĻ•āĻžāĻœ āĻ•āĻ°ā§āĻ•
āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛, āĻ¤āĻžāĻ‡ āĻāĻ‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ• āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ‰āĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ°āĻ¸ā§‚āĻ¤ā§āĻ°ā§‡ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻĻā§‡āĻ–ā§‡ āĻ¨āĻŋāĻ¨
src/network/helper/trace-helper.h āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻ–āĻ¨ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨
āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻ•ā§‹āĻĄāĨ¤

āĻāĻ‡ āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ—ā§‡āĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻšāĻŋāĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻŦ āĻ†āĻ‡āĻĒāĻŋāĻ­āĻŋā§ĒāĨ¤ āĻĨā§‡āĻ•ā§‡
āĻ…āĻ¨ā§āĻ°ā§‚āĻĒ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŸā§āĻ°ā§‡āĻ¸ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°ā§āĻ¨, āĻļā§āĻ§ā§ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤ āĻĒā§āĻ°āĻ•āĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ,
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž Ptr āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻ• Ptr āĻāĻŦāĻ‚ āĻ•āĻ˛ PcapIpv6 āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§āĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ PcapIpv4 āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§āĻ¨.

āĻļā§āĻ°ā§‡āĻŖā§€ PcapHelperForIpv4 pcap āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻšā§āĻš āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡
āĻŽāĻ§ā§āĻ¯ā§‡ āĻ†āĻ‡āĻĒāĻŋāĻ­āĻŋā§Ē āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€ āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡
āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻāĻ‡ āĻ•ā§āĻ˛āĻžāĻ¸ āĻĨā§‡āĻ•ā§‡ āĻ‰āĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ°āĻ¸ā§‚āĻ¤ā§āĻ°ā§‡ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤āĨ¤ āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻ˛āĻžāĻĻāĻž āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻšāĻŦā§‡
āĻ†āĻ‡āĻĒāĻŋāĻ­āĻŋā§Ē, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ¨āĻžāĻŽ āĻāĻŦāĻ‚ āĻ¸ā§āĻŦāĻžāĻ•ā§āĻˇāĻ° āĻšāĻŦā§‡āĨ¤
āĻ•ā§āĻ˛āĻžāĻ¸ āĻĻā§āĻŦā§āĻ¯āĻ°ā§āĻĨāĻšā§€āĻ¨ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ¨āĻžāĻŽ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ†āĻ‡āĻĒāĻŋāĻ­āĻŋā§Ē āĻĨā§‡āĻ•ā§‡ āĻ†āĻ‡āĻĒāĻŋāĻ­āĻŋā§Ē āĻ¯āĻž āĻ‰āĻ­āĻ¯āĻŧ
āĻ•ā§āĻ˛āĻžāĻ¸ āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯, āĻāĻŦāĻ‚ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¯āĻž āĻāĻ•āĻ‡ āĻ¸ā§āĻŦāĻžāĻ•ā§āĻˇāĻ° āĻ­āĻžāĻ— āĻ•āĻ°ā§‡āĨ¤

āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻ­ā§āĻ¯āĻžāĻ¯āĻŧā§‡āĻĄ EnablePcapIpv4Internal (std::āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—, Ptr ipv4, uint4_t āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸) = 32;

āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ¸ā§āĻŦāĻžāĻ•ā§āĻˇāĻ° āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻāĻŦāĻ‚ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸-āĻ•ā§‡āĻ¨ā§āĻĻā§āĻ°āĻŋāĻ• āĻĻā§ƒāĻļā§āĻ¯ āĻĒā§āĻ°āĻ¤āĻŋāĻĢāĻ˛āĻŋāĻ¤ āĻ•āĻ°ā§‡
āĻāĻ‡ āĻ¸ā§āĻ¤āĻ°ā§‡ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĨ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻžāĻŦāĻ˛āĻŋāĻ• āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ āĻĨā§‡āĻ•ā§‡ āĻ‰āĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ°āĻ¸ā§‚āĻ¤ā§āĻ°ā§‡ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ PcapHelperForIpv4
āĻāĻ‡ āĻāĻ•āĻ• āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸-āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ•ā§‡ āĻ•āĻ˛ āĻ•āĻ°āĻž āĻšā§āĻ°āĻžāĻ¸ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻĻ
āĻ¸āĻ°ā§āĻŦāĻ¨āĻŋāĻŽā§āĻ¨ āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° pcap āĻĒāĻĻā§āĻ§āĻ¤āĻŋ,:

void EnablePcapIpv4 (std::āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—, Ptr ipv4, uint4_t āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸);

āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ˛ āĻ•āĻ°āĻŦā§‡ PcapIpv4 āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§āĻ¨ā§ˇ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ…āĻ¨ā§āĻ¯ āĻ¸āĻŦ āĻĒāĻžāĻŦāĻ˛āĻŋāĻ•
āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€-āĻ¸ā§āĻ¤āĻ° āĻĒā§āĻ°āĻĻāĻžāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ‡ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻ‰āĻĒāĻ° pcap āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻ•āĻžāĻ›ā§‡ āĻāĻ° āĻ…āĻ°ā§āĻĨ āĻšāĻ˛ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻ•āĻ°āĻŦā§‡ā§ˇ
āĻ¸āĻŽāĻ¸ā§āĻ¤ pcap āĻŸā§āĻ°ā§‡āĻ¸ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻ†āĻ›ā§‡; āĻāĻŦāĻ‚ āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¸āĻŦ āĻāĻ•āĻ‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻŦā§‡
āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻ˛ā§‡ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻœā§āĻĄāĻŧā§‡ āĻĒāĻĨ PcapIpv4 āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§āĻ¨ā§ˇ āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡āĨ¤

Pcap āĻ°āĻšāĻ¨āĻž āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ
āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ• āĻĨā§‡āĻ•ā§‡ āĻāĻ• āĻšāĻŋāĻ āĻŋāĻĒāĻ¤ā§āĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ā§ˇ āĻ¨ā§‹āĻĄ- āĻāĻŦāĻ‚
āĻ¨ā§‡āĻŸāĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸- āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡āĻ° āĻ•ā§‡āĻ¨ā§āĻĻā§āĻ°āĻŋāĻ• āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖāĨ¤ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻ¨ā§‹āĻĄ āĻāĻŦāĻ‚ āĻ¨ā§‡āĻŸāĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻ¯ā§āĻ—āĻ˛
āĻ¸ā§€āĻŽāĻžāĻŦāĻĻā§āĻ§āĻ¤āĻž, āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻāĻŦāĻ‚ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻ¸ā§€āĻŽāĻžāĻŦāĻĻā§āĻ§āĻ¤āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋāĨ¤

āĻ¨ā§‹āĻŸ āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡āĻ° āĻŽāĻ¤ā§‹, āĻ›āĻ¯āĻŧāĻŸāĻŋ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:

void EnablePcapIpv4 (std::āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—, Ptr ipv4, uint4_t āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸);
void EnablePcapIpv4 (std::string prefix, std::string ipv4Name, uint32_t āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸);
void EnablePcapIpv4 (std::string prefix, Ipv4InterfaceContainer c);
void EnablePcapIpv4 (std::āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—, NodeContainer n);
void EnablePcapIpv4 (std::string prefix, uint32_t nodeid, uint32_t āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸);
void EnablePcapIpv4All (std::āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—);

āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻ•ā§āĻ¸āĻŋāĻœā§‡āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻ‰ā§ŽāĻ¸āĻžāĻšāĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ PcapHelperForIpv4 āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻœāĻžāĻ¨āĻ¤ā§‡
āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ; āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¸āĻ‚āĻ•ā§āĻˇā§‡āĻĒā§‡...

āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛/āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻœā§‹āĻĄāĻŧāĻžāĻ¯āĻŧ pcap āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
Ptr āĻāĻŦāĻ‚ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻāĻ•āĻŸāĻŋāĻ¤ā§‡ āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻĒ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§āĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ,:

Ptr ipv4 = āĻ¨ā§‹āĻĄ->āĻ—ā§‡āĻŸāĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ ();
...
helper.EnablePcapIpv4 ("āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—", ipv4, 0);

āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¨ā§‹āĻĄ/āĻ¨ā§‡āĻŸ-āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻœā§‹āĻĄāĻŧāĻžāĻ¯āĻŧ pcap āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
std::āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻāĻ•āĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ¨āĻžāĻŽ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ¨āĻŋāĻ§āĻŋāĻ¤ā§āĻŦ āĻ•āĻ°ā§‡ āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻĒ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§āĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻĻā§āĻ¯
Ptr āĻ¨āĻžāĻŽ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻĨā§‡āĻ•ā§‡ āĻĻā§‡āĻ–āĻž āĻšāĻ¯āĻŧ. āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ,:

āĻ¨āĻžāĻŽ::āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ ("serverIPv4" ...);
...
helper.EnablePcapIpv4 ("āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—", "serverIpv4", 1);

āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛/āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻœā§‹āĻĄāĻŧāĻžāĻ° āĻ¸āĻ‚āĻ—ā§āĻ°āĻšā§‡ pcap āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻ†āĻ‡āĻĒāĻŋāĻ­āĻŋ 4 āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ°āĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯, āĻĒā§āĻ°āĻ¤ā§āĻ¯ā§‡āĻ•āĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻ‡āĻĒāĻŋāĻ­āĻŋā§Ē / āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ°ā§‡ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻœā§‹āĻĄāĻŧāĻž āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻĒā§āĻ°āĻ•āĻžāĻ°
āĻ†āĻŽāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡ āĻĻā§‡āĻ–ā§‡āĻ›āĻŋ. āĻ¸āĻ āĻŋāĻ• āĻŸāĻžāĻ‡āĻĒā§‡āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ (āĻāĻ•āĻ‡ āĻŸāĻžāĻ‡āĻĒ āĻ¯āĻž āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧ
āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ°), āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ,:

āĻ¨ā§‹āĻĄāĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° āĻ¨ā§‹āĻĄ;
...
NetDeviceContainer āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ = deviceHelper.Install (nodes);
...
Ipv4AddressHelper ipv4;
ipv4.SetBase ("10.1.1.0", "255.255.255.0");
Ipv4InterfaceContainer āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ = ipv4.āĻ…ā§āĻ¯āĻžāĻ¸āĻžāĻ‡āĻ¨ (āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸);
...
helper.EnablePcapIpv4 ("āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—", āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸);

āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛/āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻœā§‹āĻĄāĻŧāĻžāĻ° āĻ¸āĻ‚āĻ—ā§āĻ°āĻšā§‡ pcap āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻ¨ā§‹āĻĄāĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ°āĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯, āĻĒā§āĻ°āĻ¤ā§āĻ¯ā§‡āĻ•āĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨ā§‹āĻĄ āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¨ā§‹āĻĄāĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻœāĻ¨ā§āĻ¯
āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛, āĻāĻ° āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸āĻ—ā§āĻ˛āĻŋ āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻĢāĻ˛āĻžāĻĢāĻ˛ā§‡ āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻœā§‹āĻĄāĻŧāĻž āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ,:

āĻ¨ā§‹āĻĄāĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° n;
...
helper.EnablePcapIpv4 ("āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—", n);

āĻ†āĻĒāĻ¨āĻŋ āĻ¨ā§‹āĻĄ āĻ†āĻ‡āĻĄāĻŋ āĻāĻŦāĻ‚ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ā§‡āĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ¤ā§‡āĻ“ pcap āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻāĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡,
āĻ¨ā§‹āĻĄ-āĻ†āĻ‡āĻĄāĻŋ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨ā§āĻŦāĻžāĻĻ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ Ptr āĻāĻŦāĻ‚ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻŽāĻ§ā§āĻ¯ā§‡ āĻĻā§‡āĻ–āĻž āĻšāĻ¯āĻŧ
āĻ¨ā§‹āĻĄ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĒā§āĻ°āĻŸā§‹āĻ•āĻ˛ āĻāĻŦāĻ‚ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻŸā§āĻ°ā§‡āĻ¸ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧ
āĻ¸ā§‚āĻ¤ā§āĻ°.:

helper.EnablePcapIpv4 ("āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—", 21, 1);

āĻ…āĻŦāĻļā§‡āĻˇā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ āĻ¸āĻš āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ pcap āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻŋāĻ¤ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛āĻŸāĻŋ āĻāĻ•āĻ‡ āĻ§āĻ°āĻŖā§‡āĻ°āĨ¤:

helper.EnablePcapIpv4All ("āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—");

Pcap āĻ°āĻšāĻ¨āĻž āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨
āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻšāĻ˛ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ
āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽāĨ¤ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻ…āĻ¨ā§āĻ¸āĻžāĻ°ā§‡, āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸āĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ pcap āĻŸā§āĻ°ā§‡āĻ¸ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
āĻĻā§āĻ¯ ns-3 āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĢāĻ°ā§āĻŽ āĻšāĻ¯āĻŧ - āĻ†āĻ‡āĻĄāĻŋ>- id>.pcapāĨ¤ āĻāĻ° āĻŦā§āĻ¯āĻžāĻĒāĻžāĻ°ā§‡
āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻŸā§āĻ°ā§‡āĻ¸, āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻāĻŦāĻ‚ āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻāĻ• āĻĨā§‡āĻ•ā§‡ āĻāĻ• āĻšāĻŋāĻ āĻŋāĻĒāĻ¤ā§āĻ° āĻ†āĻ›ā§‡ āĻ¨ā§‹āĻĄ. āĻāĻ‡
āĻ•āĻžāĻ°āĻŖ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸāĻ¸ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻ¨ā§‹āĻĄ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸāĻ¸. āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ•ā§‹āĻ¨ āĻ—ā§āĻ˛ā§‹āĻŦāĻžāĻ˛ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻ¨ā§‡āĻ‡
āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ id, āĻ†āĻŽāĻ°āĻž āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽāĻ•āĻ°āĻŖā§‡ āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ āĻ¨ā§‹āĻĄ āĻ†āĻ‡āĻĄāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋāĨ¤ āĻ…āĻ¤āĻāĻŦ āĻāĻ•āĻŸāĻŋ āĻ†āĻ›ā§‡
āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻŋāĻ¤ āĻŸā§āĻ°ā§‡āĻ¸ āĻĢāĻžāĻ‡āĻ˛ āĻ¨āĻžāĻŽāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻĢāĻžāĻ‡āĻ˛ āĻ¨āĻžāĻŽā§‡āĻ° āĻ¸āĻ‚āĻ˜āĻ°ā§āĻˇā§‡āĻ° āĻ¸āĻŽā§āĻ­āĻžāĻŦāĻ¨āĻžāĨ¤ āĻāĻ‡ āĻœāĻ¨ā§āĻ¯
āĻ•āĻžāĻ°āĻŖ, āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻŸā§āĻ°ā§‡āĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ āĻ•āĻ¨āĻ­ā§‡āĻ¨āĻļāĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻĒā§‚āĻ°ā§āĻŦā§‡ āĻ‰āĻ˛ā§āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§‡, āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¨ā§‹āĻĄā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ-āĻ¨āĻŋāĻ¯ā§āĻ•ā§āĻ¤ āĻ¨ā§‹āĻĄ āĻ†āĻ‡āĻĄāĻŋ āĻĨāĻžāĻ•āĻŦā§‡āĨ¤
āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻĻā§ƒāĻˇā§āĻŸāĻžāĻ¨ā§āĻ¤ āĻāĻŦāĻ‚ āĻ¨ā§‹āĻĄ āĻĻā§ƒāĻˇā§āĻŸāĻžāĻ¨ā§āĻ¤āĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ• āĻĨā§‡āĻ•ā§‡ āĻāĻ• āĻšāĻŋāĻ āĻŋāĻĒāĻ¤ā§āĻ° āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡
āĻ†āĻŽāĻ°āĻž āĻ¨ā§‹āĻĄ āĻ†āĻ‡āĻĄāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋāĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ā§‡āĻ° āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻāĻ•āĻŸāĻŋ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻ†āĻ‡āĻĄāĻŋ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻ†āĻŽāĻ°āĻž āĻŦā§āĻ¯āĻžāĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋ
āĻ¸āĻŽā§āĻŽā§‡āĻ˛āĻ¨ " -n -i .pcap" āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽāĻ•āĻ°āĻŖ āĻŸā§āĻ°ā§‡āĻ¸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯
āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€āĨ¤

āĻ¤āĻžāĻ‡, āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡, āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻžāĻ° āĻĢāĻ˛ā§‡ āĻāĻ•āĻŸāĻŋ pcap āĻŸā§āĻ°ā§‡āĻ¸ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻšāĻ¯āĻŧ
āĻ¨ā§‹āĻĄ 1 āĻāĻ° Ipv4 āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ā§‡āĻ° āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ 21 āĻ‰āĻĒāĻ¸āĻ°ā§āĻ— āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ "āĻĒā§āĻ°āĻŋāĻĢāĻŋāĻ•ā§āĻ¸" āĻšāĻŦā§‡
"prefix-n21-i1.pcap"āĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻŦāĻ¸āĻŽāĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ ns-3 āĻāĻŸāĻŋ āĻ†āĻ°āĻ“ āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ¨āĻžāĻŽ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ¯āĻĻāĻŋ
āĻ†āĻĒāĻ¨āĻŋ Ptr-āĻ "serverIpv4" āĻ¨āĻžāĻŽ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°āĻ¤ā§‡ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¨ā§‡āĻŽ āĻ¸āĻžāĻ°ā§āĻ­āĻŋāĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĻ¨ āĻ¨ā§‹āĻĄā§‡āĻ° āĻ‰āĻĒāĻ°
21, āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ pcap āĻŸā§āĻ°ā§‡āĻ¸ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻšāĻ¯āĻŧā§‡ āĻ¯āĻžāĻŦā§‡,
"prefix-nserverIpv4-i1.pcap"āĨ¤

ASCII āĻ°āĻšāĻ¨āĻž āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€
ascii āĻŸā§āĻ°ā§‡āĻ¸ āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ°āĻĻā§‡āĻ° āĻ†āĻšāĻ°āĻŖ pcap āĻ•ā§‡āĻ¸ā§‡āĻ° āĻŽāĻ¤ā§‹āĻ‡ āĻ¯āĻĨā§‡āĻˇā§āĻŸāĨ¤ āĻ•
āĻ¤āĻžāĻ•āĻžāĻ¨ā§‹ src/network/helper/trace-helper.h āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻ–āĻ¨ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨
āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻ•ā§‹āĻĄ āĻ–ā§āĻāĻœāĻ›ā§‡āĻ¨.

āĻāĻ‡ āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ—ā§‡āĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻšāĻŋāĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻŦ āĻ†āĻ‡āĻĒāĻŋāĻ­āĻŋā§ĒāĨ¤ āĻĨā§‡āĻ•ā§‡
āĻ…āĻ¨ā§āĻ°ā§‚āĻĒ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŸā§āĻ°ā§‡āĻ¸ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°ā§āĻ¨, āĻļā§āĻ§ā§ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤ āĻĒā§āĻ°āĻ•āĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ,
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž Ptr āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻ• Ptr āĻāĻŦāĻ‚ āĻ•āĻ˛ AsciiIpv6 āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§āĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡
AsciiIpv4 āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§āĻ¨.

āĻļā§āĻ°ā§‡āĻŖā§€ AsciiTraceHelperForIpv4 ascii āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻšā§āĻš āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡
āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€ āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚. āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§‡ āĻāĻŽāĻ¨ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻŦā§‡
āĻāĻ•āĻ• āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻāĻ‡ āĻ•ā§āĻ˛āĻžāĻ¸ āĻĨā§‡āĻ•ā§‡ āĻ‰āĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ°āĻ¸ā§‚āĻ¤ā§āĻ°ā§‡ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤āĨ¤:

āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻļā§‚āĻ¨ā§āĻ¯āĻ¤āĻž EnableAsciiIpv4Internal (Ptr āĻ¸ā§āĻŸā§āĻ°ā§€āĻŽ, std::āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—,
Ptr ipv4, uint4_t āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸) = 32;

āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ¸ā§āĻŦāĻžāĻ•ā§āĻˇāĻ° āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛- āĻāĻŦāĻ‚ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸-āĻ•ā§‡āĻ¨ā§āĻĻā§āĻ°āĻŋāĻ• āĻĻā§ƒāĻļā§āĻ¯ āĻĒā§āĻ°āĻ¤āĻŋāĻĢāĻ˛āĻŋāĻ¤ āĻ•āĻ°ā§‡
āĻāĻ‡ āĻ¸ā§āĻ¤āĻ°ā§‡ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ; āĻāĻŦāĻ‚ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€ āĻāĻ•āĻŸāĻŋ āĻļā§‡āĻ¯āĻŧāĻžāĻ° āĻ•āĻ°āĻž āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¯ā§‡ āĻ¸āĻ¤ā§āĻ¯
āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¸ā§āĻŸā§āĻ°ā§€āĻŽāĨ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻžāĻŦāĻ˛āĻŋāĻ• āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ āĻĨā§‡āĻ•ā§‡ āĻ‰āĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ°āĻ¸ā§‚āĻ¤ā§āĻ°ā§‡ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤
PcapAndAsciiTraceHelperForIpv4 āĻāĻ‡ āĻāĻ•āĻ• āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸-āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ˛ āĻ•āĻ°āĻž āĻšā§āĻ°āĻžāĻ¸ āĻ•āĻ°ā§āĻ¨
āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ¸āĻ°ā§āĻŦāĻ¨āĻŋāĻŽā§āĻ¨ āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° ascii āĻŸā§āĻ°ā§‡āĻ¸ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ,:

void EnableAsciiIpv4 (std::āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—, Ptr ipv4, uint4_t āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸);
void EnableAsciiIpv4 (Ptr āĻĒā§āĻ°āĻŦāĻžāĻš, Ptr ipv4, uint4_t āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸);

āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ˛ āĻ•āĻ°āĻŦā§‡ AsciiIpv4 āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§āĻ¨ā§ˇ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ, āĻšāĻ¯āĻŧ āĻĒā§āĻ°āĻĻāĻžāĻ¨
āĻ‰āĻĒāĻ¸āĻ°ā§āĻ— āĻŦāĻž āĻĒā§āĻ°āĻŦāĻžāĻšāĨ¤ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ¸āĻ•āĻ˛ āĻĒāĻžāĻŦāĻ˛āĻŋāĻ• ascii āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻāĻ—ā§āĻ˛ā§‹āĻ° āĻ‰āĻĒāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻšāĻŦā§‡
āĻ¨āĻŋāĻŽā§āĻ¨-āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€-āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡āĨ¤ āĻāĻ‡ āĻŽāĻžāĻ¨ā§‡ āĻ•āĻŋ
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻšāĻ˛ āĻ¯ā§‡ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ ascii āĻŸā§āĻ°ā§‡āĻ¸ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻĨāĻžāĻ•āĻŦā§‡
āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻāĻŦāĻ‚ āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻœā§āĻĄāĻŧā§‡ āĻāĻ•āĻ‡ āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻŦā§‡ āĻ¯āĻĻāĻŋ
āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ EnableAsciiIpv4 āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡āĨ¤

ASCII āĻ°āĻšāĻ¨āĻž āĻ¯āĻ¨ā§āĻ¤ā§āĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ
void EnableAsciiIpv4 (std::āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—, Ptr ipv4, uint4_t āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸);
void EnableAsciiIpv4 (Ptr āĻĒā§āĻ°āĻŦāĻžāĻš, Ptr ipv4, uint4_t āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸);

void EnableAsciiIpv4 (std::string prefix, std::string ipv4Name, uint32_t āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸);
void EnableAsciiIpv4 (Ptr āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ, std::string ipv4Name, uint32_t āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸);

void EnableAsciiIpv4 (std::string prefix, Ipv4InterfaceContainer c);
void EnableAsciiIpv4 (Ptr āĻ¸ā§āĻŸā§āĻ°ā§€āĻŽ, Ipv4InterfaceContainer c);

void EnableAsciiIpv4 (std::āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—, NodeContainer n);
void EnableAsciiIpv4 (Ptr āĻĒā§āĻ°āĻŦāĻžāĻš, NodeContainer n);

void EnableAsciiIpv4 (std::string prefix, uint32_t nodeid, uint32_t deviceid);
void EnableAsciiIpv4 (Ptr āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ, uint32_t nodeid, uint32_t āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸);

void EnableAsciiIpv4All (std::āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—);
void EnableAsciiIpv4All (Ptr āĻĒā§āĻ°āĻŦāĻžāĻš);

āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻ•ā§āĻ¸āĻŋāĻœā§‡āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻ‰ā§ŽāĻ¸āĻžāĻšāĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ PcapAndAsciiHelperForIpv4 āĻ–ā§āĻāĻœā§‡ āĻĒā§‡āĻ¤ā§‡
āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻŦāĻŋāĻŦāĻ°āĻŖ; āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¸āĻ‚āĻ•ā§āĻˇā§‡āĻĒā§‡...

ascii āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻāĻ° āĻœāĻ¨ā§āĻ¯ pcap āĻāĻ° āĻ¤ā§āĻ˛āĻ¨āĻžāĻ¯āĻŧ āĻĻā§āĻŦāĻŋāĻ—ā§āĻŖ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡
āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻāĻ° āĻ•āĻžāĻ°āĻŖ, pcap-āĻļā§ˆāĻ˛ā§€ āĻŽāĻĄā§‡āĻ˛ āĻ›āĻžāĻĄāĻŧāĻžāĻ“ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĨā§‡āĻ•ā§‡ āĻŸā§āĻ°ā§‡āĻ¸ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧ
āĻ…āĻ¨āĻ¨ā§āĻ¯ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛/āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻœā§‹āĻĄāĻŧāĻž āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨āĻ¨ā§āĻ¯ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧ, āĻ†āĻŽāĻ°āĻž āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻŽāĻĄā§‡āĻ˛āĻ•ā§‡ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°āĻŋ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡
āĻ…āĻ¨ā§‡āĻ• āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛/āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻœā§‹āĻĄāĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¤āĻĨā§āĻ¯ āĻŸā§āĻ°ā§‡āĻ¸ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻ‡
āĻŽāĻžāĻ¨ā§‡ āĻ¯ā§‡ -n - āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻļāĻ¨ āĻŽā§‡āĻ•āĻžāĻ¨āĻŋāĻœāĻŽ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻŋāĻ¤ āĻšāĻ¯āĻŧ
āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĢāĻžāĻ‡āĻ˛ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĻā§āĻŦāĻžāĻ°āĻž; āĻāĻŦāĻ‚ API āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻĻā§āĻŦāĻŋāĻ—ā§āĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻ‚āĻŽāĻŋāĻļā§āĻ°āĻŖā§‡āĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻāĻŋāĻ¨āĨ¤

āĻ āĻŋāĻ• āĻ¯ā§‡āĻŽāĻ¨ pcap āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛/āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ā§‡ ascii āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻœā§‹āĻĄāĻŧāĻž Ptr āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻāĻ•āĻŸāĻŋāĻ¤ā§‡ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°ā§āĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ,:

Ptr ipv4;
...
helper.EnableAsciiIpv4 ("āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—", ipv4, 1);

āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ•ā§‹āĻ¨ā§‹ āĻŸā§āĻ°ā§‡āĻ¸ āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ— ascii āĻŸā§āĻ°ā§‡āĻ¸ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧ āĻ¨āĻž āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻšāĻŦā§‡
āĻ…āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻāĻ•āĻ‡ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ āĻŦāĻžāĻ›āĻžāĻ‡ āĻ•āĻ°āĻŦā§‡
pcap āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤, āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ ".tr" āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻ¯āĻŧ āĻĨāĻžāĻ•āĻŦā§‡
".pcap"āĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ā§‡ ascii āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨ āĻāĻŦāĻ‚ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŸā§āĻ°ā§‡āĻ¸ āĻĒāĻžāĻ āĻžāĻ¤ā§‡ āĻšāĻžāĻ¨
āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻĢāĻžāĻ‡āĻ˛, āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻĢāĻžāĻ‡āĻ˛ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻŸāĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻ†āĻŽāĻ°āĻž
āĻ‰āĻĒāĻ°ā§‡āĻ° "cwnd" āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡āĻ‡ āĻāĻ° āĻŽāĻ¤ā§‹ āĻ•āĻŋāĻ›ā§ āĻ†āĻ›ā§‡:

Ptr protocol4 = node1->GetObject ();
Ptr protocol4 = node2->GetObject ();
...
Ptr stream = asciiTraceHelper.CreateFileStream ("trace-file-name.tr");
...
helper.EnableAsciiIpv4 (āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ, āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛1, 1);
helper.EnableAsciiIpv4 (āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ, āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛2, 1);

āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻŸā§āĻ°ā§‡āĻ¸ āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ—āĻ—ā§āĻ˛āĻŋ ascii āĻŸā§āĻ°ā§‡āĻ¸ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ¤āĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¯āĻŧ
āĻĻā§āĻŸāĻŋ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻĨā§‡āĻ•ā§‡ āĻŸā§āĻ°ā§‡āĻ¸ āĻĻā§āĻŦā§āĻ¯āĻ°ā§āĻĨāĻšā§€āĻ¨ āĻ•āĻ°āĻ¤ā§‡āĨ¤ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–ā§āĻ¯ āĻ¯ā§‡ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡
āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°ā§‡, āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚āĻŸāĻŋāĻ¤ā§‡ āĻ§āĻžāĻ°āĻžāĻŦāĻžāĻšāĻŋāĻ•āĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯ ".tr" āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻ ascii āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ std::āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚
āĻāĻ•āĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ¨āĻžāĻŽ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ¨āĻŋāĻ§āĻŋāĻ¤ā§āĻŦ āĻ•āĻ°ā§‡ āĻĒāĻŋāĻ•ā§āĻ¯āĻžāĻĒ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§āĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻĻā§āĻ¯ Ptr is
āĻ¨āĻžāĻŽ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻĨā§‡āĻ•ā§‡ āĻĻā§‡āĻ–āĻž. āĻĻā§āĻ¯ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ āĻĨā§‡āĻ•ā§‡ āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻ†āĻ›ā§‡
āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻĻā§ƒāĻˇā§āĻŸāĻžāĻ¨ā§āĻ¤ āĻāĻŦāĻ‚ āĻ¨ā§‹āĻĄā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•-āĻāĻ• āĻšāĻŋāĻ āĻŋāĻĒāĻ¤ā§āĻ° āĻ†āĻ›ā§‡, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ,:

āĻ¨āĻžāĻŽ::āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ ("node1Ipv4"...);
āĻ¨āĻžāĻŽ::āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ ("node2Ipv4"...);
...
helper.EnableAsciiIpv4 ("āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—", "node1Ipv4", 1);
helper.EnableAsciiIpv4 ("āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—", "node2Ipv4", 1);

āĻāĻ° āĻĢāĻ˛ā§‡ "prefix-nnode1Ipv4-i1.tr" āĻ¨āĻžāĻŽā§‡ āĻĻā§āĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛ āĻ†āĻ¸āĻŦā§‡ āĻāĻŦāĻ‚
āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ āĻŸā§āĻ°ā§‡āĻ¸ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸āĻš "prefix-nnode2Ipv4-i1.tr"āĨ¤
āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ EnableAscii āĻĢāĻžāĻ‚āĻļāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ āĻ°â€ā§āĻ¯āĻžāĻĒāĻžāĻ° āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ“āĻ­āĻžāĻ°āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻ¸ā§‡āĻ‡ āĻĢāĻ°ā§āĻŽāĻŸāĻŋāĻ“ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨:

āĻ¨āĻžāĻŽ::āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ ("node1Ipv4"...);
āĻ¨āĻžāĻŽ::āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ ("node2Ipv4"...);
...
Ptr stream = asciiTraceHelper.CreateFileStream ("trace-file-name.tr");
...
helper.EnableAsciiIpv4 (āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ, "node1Ipv4", 1);
helper.EnableAsciiIpv4 (āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ, "node2Ipv4", 1);

āĻāĻ° āĻĢāĻ˛ā§‡ "trace-file-name.tr" āĻ¨āĻžāĻŽāĻ• āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻŸā§āĻ°ā§‡āĻ¸ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻšāĻŦā§‡ āĻ¯āĻžāĻ¤ā§‡ āĻ¸āĻŦāĻ—ā§āĻ˛ā§‹ āĻĨāĻžāĻ•ā§‡
āĻ‰āĻ­āĻ¯āĻŧ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ˜āĻŸāĻ¨āĻž āĻŸā§āĻ°ā§‡āĻ¸. āĻ˜āĻŸāĻ¨āĻž āĻŸā§āĻ°ā§‡āĻ¸ āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ— āĻĻā§āĻŦāĻžāĻ°āĻž āĻĻā§āĻŦā§āĻ¯āĻ°ā§āĻĨāĻŋāĻ¤ āĻšāĻŦā§‡
āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚āĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛/āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻœā§‹āĻĄāĻŧāĻžāĻ° āĻ¸āĻ‚āĻ—ā§āĻ°āĻšā§‡ ascii āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻ†āĻ‡āĻĒāĻŋāĻ­āĻŋ 4 āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ°. āĻ¸āĻ āĻŋāĻ• āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ (āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻŋāĻ¤ āĻāĻ•āĻ‡ āĻĒā§āĻ°āĻ•āĻžāĻ°
āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž), āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ†āĻŦāĻžāĻ°,
āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻ•āĻžāĻ°āĻŖ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻāĻŦāĻ‚ āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•-āĻāĻ• āĻšāĻŋāĻ āĻŋāĻĒāĻ¤ā§āĻ° āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡
āĻāĻ° āĻ¨ā§‹āĻĄ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ,:

āĻ¨ā§‹āĻĄāĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° āĻ¨ā§‹āĻĄ;
...
NetDeviceContainer āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ = deviceHelper.Install (nodes);
...
Ipv4AddressHelper ipv4;
ipv4.SetBase ("10.1.1.0", "255.255.255.0");
Ipv4InterfaceContainer āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ = ipv4.āĻ…ā§āĻ¯āĻžāĻ¸āĻžāĻ‡āĻ¨ (āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸);
...
...
helper.EnableAsciiIpv4 ("āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—", āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸);

āĻāĻ° āĻĢāĻ˛ā§‡ āĻ…āĻ¨ā§‡āĻ•āĻ—ā§āĻ˛āĻŋ ascii āĻŸā§āĻ°ā§‡āĻ¸ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻšāĻŦā§‡, āĻ¯āĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
āĻĻā§āĻ¯ -n -i .tr āĻ•āĻ¨āĻ­ā§‡āĻ¨āĻļāĻ¨āĨ¤ āĻāĻ•āĻŸāĻŋ āĻŽāĻ§ā§āĻ¯ā§‡ āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸āĻŦ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻž
āĻāĻ•āĻ• āĻĢāĻžāĻ‡āĻ˛ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻ…āĻ¨ā§āĻ°ā§‚āĻĒāĻ­āĻžāĻŦā§‡ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻšāĻ¯āĻŧ:

āĻ¨ā§‹āĻĄāĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° āĻ¨ā§‹āĻĄ;
...
NetDeviceContainer āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ = deviceHelper.Install (nodes);
...
Ipv4AddressHelper ipv4;
ipv4.SetBase ("10.1.1.0", "255.255.255.0");
Ipv4InterfaceContainer āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ = ipv4.āĻ…ā§āĻ¯āĻžāĻ¸āĻžāĻ‡āĻ¨ (āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸);
...
Ptr stream = asciiTraceHelper.CreateFileStream ("trace-file-name.tr");
...
helper.EnableAsciiIpv4 (āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ, āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸);

āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛/āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻœā§‹āĻĄāĻŧāĻžāĻ° āĻ¸āĻ‚āĻ—ā§āĻ°āĻšā§‡ ascii āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻ¨ā§‹āĻĄāĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ°āĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯, āĻĒā§āĻ°āĻ¤ā§āĻ¯ā§‡āĻ•āĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨ā§‹āĻĄ āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¨ā§‹āĻĄāĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻœāĻ¨ā§āĻ¯
āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛, āĻāĻ° āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸āĻ—ā§āĻ˛āĻŋ āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻĢāĻ˛āĻžāĻĢāĻ˛ā§‡ āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻœā§‹āĻĄāĻŧāĻž āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ,:

āĻ¨ā§‹āĻĄāĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° n;
...
helper.EnableAsciiIpv4 ("āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—", n);

āĻāĻ° āĻĢāĻ˛ā§‡ āĻ…āĻ¨ā§‡āĻ•āĻ—ā§āĻ˛āĻŋ ascii āĻŸā§āĻ°ā§‡āĻ¸ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻšāĻŦā§‡, āĻ¯āĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
āĻĻā§āĻ¯ - - .tr āĻ•āĻ¨āĻ­ā§‡āĻ¨āĻļāĻ¨āĨ¤ āĻāĻ•āĻŸāĻŋ āĻŽāĻ§ā§āĻ¯ā§‡ āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸āĻŦ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻž
āĻāĻ•āĻ• āĻĢāĻžāĻ‡āĻ˛ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻ…āĻ¨ā§āĻ°ā§‚āĻĒāĻ­āĻžāĻŦā§‡ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻšāĻ¯āĻŧ:

āĻ†āĻĒāĻ¨āĻŋ āĻ¨ā§‹āĻĄ āĻ†āĻ‡āĻĄāĻŋ āĻāĻŦāĻ‚ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻ†āĻ‡āĻĄāĻŋāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ¤ā§‡āĻ“ pcap āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻāĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡,
āĻ¨ā§‹āĻĄ-āĻ†āĻ‡āĻĄāĻŋ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨ā§āĻŦāĻžāĻĻ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ Ptr āĻāĻŦāĻ‚ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻŽāĻ§ā§āĻ¯ā§‡ āĻĻā§‡āĻ–āĻž āĻšāĻ¯āĻŧ
āĻ¨ā§‹āĻĄ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĒā§āĻ°āĻŸā§‹āĻ•āĻ˛ āĻāĻŦāĻ‚ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻŸā§āĻ°ā§‡āĻ¸ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧ
āĻ¸ā§‚āĻ¤ā§āĻ°.:

helper.EnableAsciiIpv4 ("āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—", 21, 1);

āĻ…āĻŦāĻļā§āĻ¯āĻ‡, āĻ‰āĻĒāĻ°ā§‡ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŸā§āĻ°ā§‡āĻ¸āĻ—ā§āĻ˛āĻŋ āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ…āĻŦāĻļā§‡āĻˇā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ āĻ¸āĻš āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ ascii āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻŋāĻ¤ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛āĻŸāĻŋ āĻāĻ•āĻ‡ āĻ§āĻ°āĻŖā§‡āĻ°āĨ¤:

helper.EnableAsciiIpv4All ("āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—");

āĻāĻ° āĻĢāĻ˛ā§‡ āĻ…āĻ¨ā§‡āĻ•āĻ—ā§āĻ˛āĻŋ ascii āĻŸā§āĻ°ā§‡āĻ¸ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻšāĻŦā§‡, āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ
āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻŋāĻ¤ āĻŸāĻžāĻ‡āĻĒā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĨ¤ āĻāĻ‡ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŦ
āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ āĻ•āĻ°āĻŦā§‡ -n -i
āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ—ā§āĻ˛āĻŋāĻ° āĻ…āĻ¨ā§āĻ°ā§‚āĻĒāĻ­āĻžāĻŦā§‡ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

ASCII āĻ°āĻšāĻ¨āĻž āĻ¯āĻ¨ā§āĻ¤ā§āĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨
āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—-āĻļā§ˆāĻ˛ā§€ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻšāĻ˛ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ
āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽāĨ¤ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§€, ascii āĻŽāĻ§ā§āĻ¯ā§‡ āĻŸā§āĻ°ā§‡āĻ¸ ns-3 āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻšāĻ¯āĻŧ
āĻĢāĻ°ā§āĻŽā§‡āĻ° " - - .tr"

āĻĒā§‚āĻ°ā§āĻŦā§‡ āĻ‰āĻ˛ā§āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§‡, āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¨ā§‹āĻĄā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ-āĻ¨āĻŋāĻ¯ā§āĻ•ā§āĻ¤ āĻ¨ā§‹āĻĄ āĻ†āĻ‡āĻĄāĻŋ āĻĨāĻžāĻ•āĻŦā§‡āĨ¤
āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻāĻŦāĻ‚ āĻ¨ā§‹āĻĄā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ• āĻĨā§‡āĻ•ā§‡ āĻāĻ• āĻšāĻŋāĻ āĻŋāĻĒāĻ¤ā§āĻ° āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ†āĻŽāĻ°āĻž āĻ¨ā§‹āĻĄ-āĻ†āĻ‡āĻĄāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋ
āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻĒāĻ°āĻŋāĻšāĻ¯āĻŧ āĻ¸āĻ¨āĻžāĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡āĨ¤ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ā§‡āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ā§‡ āĻāĻ•āĻŸāĻŋ āĻĨāĻžāĻ•āĻŦā§‡
āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻ‡āĻ¨āĻĄā§‡āĻ•ā§āĻ¸ (āĻ¯āĻžāĻ•ā§‡ āĻļā§āĻ§ā§ āĻāĻ•āĻŸāĻŋ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸āĻ“ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ) āĻāĻ° āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ā§‡āĻ° āĻ¸āĻžāĻĒā§‡āĻ•ā§āĻˇā§‡āĨ¤ āĻ—āĻ¤āĻžāĻ¨ā§āĻ—āĻ¤āĻŋāĻ•,
āĻ¤āĻžāĻ°āĻĒāĻ°, āĻĒā§āĻ°āĻĨāĻŽ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡ āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻžāĻ° āĻĢāĻ˛ā§‡ āĻāĻ•āĻŸāĻŋ ascii āĻŸā§āĻ°ā§‡āĻ¸ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻšāĻ¯āĻŧ
āĻ¨ā§‹āĻĄ 21, āĻ‰āĻĒāĻ¸āĻ°ā§āĻ— "āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—" āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡, "āĻĒā§āĻ°āĻŋāĻĢāĻŋāĻ•ā§āĻ¸-n21-i1.tr" āĻšāĻŦā§‡āĨ¤ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ— āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨
āĻ¨ā§‹āĻĄ āĻĒā§āĻ°āĻ¤āĻŋ āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻĻā§āĻŦā§āĻ¯āĻ°ā§āĻĨāĻšā§€āĻ¨ āĻ•āĻ°ā§āĻ¨āĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻŦāĻ¸āĻŽāĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ ns-3 āĻāĻŸāĻŋ āĻ†āĻ°āĻ“ āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ¨āĻžāĻŽ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ¯āĻĻāĻŋ
āĻ†āĻĒāĻ¨āĻŋ āĻ¨ā§‹āĻĄā§‡āĻ° āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ā§‡ "serverIpv4" āĻ¨āĻžāĻŽ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°āĻ¤ā§‡ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¨āĻžāĻŽ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĻ¨
21, āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°ā§āĻ¨, āĻĢāĻ˛ā§‡ ascii āĻŸā§āĻ°ā§‡āĻ¸ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻšāĻ¯āĻŧā§‡ āĻ¯āĻžāĻŦā§‡
āĻšāĻ¯āĻŧā§‡ āĻ‰āĻ ā§āĻ¨, "prefix-nserverIpv4-1.tr"āĨ¤

āĻ°āĻšāĻ¨āĻž āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤
āĻ‰āĻĒāĻžāĻ¤ā§āĻ¤ āĻ¸āĻ‚āĻ—ā§āĻ°āĻš
āĻāĻ‡ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧā§‡ ns-3 āĻĄā§‡āĻŸāĻž āĻ•āĻžāĻ˛ā§‡āĻ•āĻļāĻ¨ āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• (DCF) āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡ āĻŽāĻĄā§‡āĻ˛ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ‰āĻ¤ā§āĻĒāĻ¨ā§āĻ¨ āĻĄā§‡āĻŸāĻž āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž, āĻ…āĻ¨-āĻ˛āĻžāĻ‡āĻ¨ā§‡ āĻ¸āĻžā§āĻšāĻžāĻ˛āĻ¨ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯
āĻšā§āĻ°āĻžāĻ¸ āĻāĻŦāĻ‚ āĻ¤āĻĨā§āĻ¯ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ°āĻŖ, āĻāĻŦāĻ‚ āĻŽāĻžāĻ°ā§āĻļāĻžāĻ˛ āĻ•āĻžāĻāĻšāĻž āĻŦāĻž āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻĄā§‡āĻŸāĻž āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ†āĻ‰āĻŸāĻĒā§āĻŸā§‡
āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻŸā§‡āĻ°āĨ¤

āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻŸāĻŋ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§‡ āĻ¸ā§āĻŦāĻ¤āĻ¨ā§āĻ¤ā§āĻ° NS-3 āĻ°āĻžāĻ¨ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡ āĻ¯āĻž āĻ•ā§‹āĻ¨ā§‹ āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ•ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡ āĻ¨āĻž
āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻš āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖāĨ¤ DCF āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻŦāĻ¸ā§āĻ¤ā§āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻšā§āĻ• āĻ•āĻ°āĻž āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ā§ˇ ns-3 āĻšāĻŋāĻšā§āĻ¨
āĻ¤āĻĨā§āĻ¯ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ°āĻŖ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰ā§ŽāĻ¸āĨ¤

āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ•ā§‹āĻĄ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻĨāĻžāĻ•ā§‡ src/āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨.

āĻāĻ‡ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§‚āĻĒ āĻ¸āĻ‚āĻ—āĻ āĻŋāĻ¤ āĻšāĻ¯āĻŧ. āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻ¸ā§āĻĨāĻžāĻĒāĻ¤ā§āĻ¯ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ“āĻ­āĻžāĻ°āĻ­āĻŋāĻ‰ āĻšāĻ˛
āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻŋāĻ¤ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€, āĻāĻ‡ āĻļā§āĻ°ā§‡āĻŖā§€āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€ āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ; āĻāĻ‡ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻšāĻŋāĻ•āĻŋā§ŽāĻ¸āĻž
āĻ…āĻ¨ā§‡āĻ• āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻĄā§‡āĻŸāĻž āĻ¸āĻ‚āĻ—ā§āĻ°āĻšā§‡āĻ° āĻ•āĻžāĻ āĻžāĻŽā§‹āĻ° āĻŽā§ŒāĻ˛āĻŋāĻ• āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ¯āĻžāĻ°āĻž
āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻ¸ā§āĻ¯ā§‹āĻ—ā§‡āĻ° āĻŦāĻžāĻ‡āĻ°ā§‡ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨, āĻŦāĻž āĻ¯āĻžāĻ°āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨
āĻ¤āĻžāĻĻā§‡āĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻ¤āĻĨā§āĻ¯ āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻŦāĻ¸ā§āĻ¤ā§, āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧā§‡āĻ° āĻŦāĻžāĻ•āĻŋ āĻĒāĻĄāĻŧāĻž āĻ‰āĻšāĻŋāĻ¤, āĻ¯āĻž āĻ¯āĻžāĻ¯āĻŧ
āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŽā§ŒāĻ˛āĻŋāĻ• DCF āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āĻ° āĻ§āĻ°āĻ¨ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻŦāĻŋāĻļāĻĻāĻ­āĻžāĻŦā§‡ āĻāĻŦāĻ‚ āĻ¨āĻŋāĻŽā§āĻ¨-āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻ•ā§‹āĻĄāĻŋāĻ‚ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĨ¤

āĻ¨āĻ•āĻļāĻž
DCF āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻŽā§ŒāĻ˛āĻŋāĻ• āĻļā§āĻ°ā§‡āĻŖā§€ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ—āĻ āĻŋāĻ¤:

¡ āĻĒā§āĻ°ā§‹āĻŦ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻĄā§‡āĻŸāĻžāĻ° āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¯āĻ¨ā§āĻ¤ā§āĻ° āĻāĻŦāĻ‚ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ•āĻ°āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž
āĻ†āĻ•āĻ°ā§āĻˇāĻŖā§€āĻ¯āĻŧ āĻ˜āĻŸāĻ¨āĻž āĻ¨āĻŋāĻ°ā§€āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤āĨ¤ āĻāĻŸāĻŋ āĻāĻ• āĻŦāĻž āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻ†āĻ•āĻžāĻ°ā§‡ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ‰āĻ¤ā§āĻĒāĻžāĻĻāĻ¨ āĻ•āĻ°ā§‡ ns-3
āĻ‰āĻ¤ā§āĻ¸ āĻŸā§āĻ°ā§‡āĻ¸ āĻĒā§āĻ°ā§‹āĻŦ āĻŦāĻ¸ā§āĻ¤ā§ āĻāĻ• āĻŦāĻž āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻŸā§āĻ°ā§‡āĻ¸ āĻ†āĻĒ āĻšā§āĻ• āĻ†āĻĒ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ•ā§āĻ¨ā§āĻĄ (āĻ¯āĻžāĻ•ā§‡ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ
āĻ¸āĻ‚āĻ—ā§āĻ°āĻžāĻšāĻ•), āĻ¯āĻž āĻ…āĻ¨āĻ˛āĻžāĻ‡āĻ¨ā§‡ āĻ¨āĻŽā§āĻ¨āĻž āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ†āĻ‰āĻŸāĻĒā§āĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻ•āĻ°ā§‡āĨ¤

¡ āĻ¸āĻ‚āĻ—ā§āĻ°āĻžāĻšāĻ• āĻāĻ• āĻŦāĻž āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻĒā§āĻ°ā§‹āĻŦ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ‰āĻ¤ā§āĻĒāĻ¨ā§āĻ¨ āĻĄā§‡āĻŸāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤ āĻāĻŸāĻŋ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻ•āĻ°ā§‡
āĻĄā§‡āĻŸāĻžāĻ¤ā§‡ āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ°, āĻ¯ā§‡āĻŽāĻ¨ āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ•āĻ•āĻ°āĻŖ, āĻšā§āĻ°āĻžāĻ¸ āĻāĻŦāĻ‚ āĻ—āĻŖāĻ¨āĻž
āĻŽā§ŒāĻ˛āĻŋāĻ• āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨āĨ¤ āĻ¸āĻ‚āĻ—ā§āĻ°āĻžāĻšāĻ• āĻŦāĻ¸ā§āĻ¤ā§ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¯ā§‡ āĻ¤āĻĨā§āĻ¯ āĻ‰āĻ¤ā§āĻĒāĻžāĻĻāĻ¨ āĻ•āĻ°ā§‡ āĻ¨āĻž
ns-3 āĻ°āĻžāĻ¨; āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡, āĻ¤āĻžāĻ°āĻž āĻĄāĻžāĻŸāĻž āĻĄāĻžāĻ‰āĻ¨āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ āĻ…āĻ¨ā§āĻ¯ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ•āĻ°ā§‡, āĻ¯āĻžāĻ•ā§‡ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ
āĻ¸āĻŽāĻˇā§āĻŸāĻŋāĻŦāĻŋāĻĻ, āĻ¯āĻž āĻ¸ā§‡āĻ‡ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¸āĻžā§āĻšāĻžāĻ˛āĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤, āĻ¸āĻ‚āĻ—ā§āĻ°āĻžāĻšāĻ•āĻ°āĻž āĻ¤āĻžāĻĻā§‡āĻ° āĻĄā§‡āĻŸāĻž āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ•āĻ°ā§‡
āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ āĻŸā§āĻ°ā§‡āĻ¸ āĻ‰āĻ¤ā§āĻ¸ā§‡āĻ° āĻĢāĻ°ā§āĻŽ, āĻ¸āĻ‚āĻ—ā§āĻ°āĻžāĻšāĻ•āĻĻā§‡āĻ° āĻ¸āĻŋāĻ°āĻŋāĻœā§‡ āĻļā§ƒāĻ™ā§āĻ–āĻ˛āĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧāĨ¤

¡ āĻ¸āĻŽāĻˇā§āĻŸāĻŋāĻŦāĻŋāĻĻ āĻĒā§āĻ°ā§‹āĻŦ āĻāĻŦāĻ‚ āĻ¸āĻ‚āĻ—ā§āĻ°āĻžāĻšāĻ•āĻĻā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻ‚āĻ—ā§ƒāĻšā§€āĻ¤ āĻĄā§‡āĻŸāĻžāĻ° āĻļā§‡āĻˇ āĻŦāĻŋāĻ¨ā§āĻĻā§āĨ¤
āĻ…ā§āĻ¯āĻžāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ°ā§‡āĻ° āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻĻāĻžāĻ¯āĻŧāĻŋāĻ¤ā§āĻŦ āĻš'āĻ˛ āĻŽāĻžāĻ°ā§āĻļāĻžāĻ˛ āĻĄā§‡āĻŸāĻž āĻāĻŦāĻ‚ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤
āĻŽā§‡āĻŸāĻžāĻĄā§‡āĻŸāĻž, āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻŸā§‡ āĻ¯ā§‡āĻŽāĻ¨ āĻĒā§āĻ˛ā§‡āĻ‡āĻ¨ āĻŸā§‡āĻ•ā§āĻ¸āĻŸ āĻĢāĻžāĻ‡āĻ˛, āĻ¸ā§āĻĒā§āĻ°ā§‡āĻĄāĻļā§€āĻŸ āĻĢāĻžāĻ‡āĻ˛, āĻŦāĻž
āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸āĨ¤

āĻāĻ‡ āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸āĻ‡ āĻ—āĻ¤āĻŋāĻļā§€āĻ˛āĻ­āĻžāĻŦā§‡ āĻ¨āĻŋāĻœā§‡āĻĻā§‡āĻ° āĻšāĻžāĻ˛ā§ āĻŦāĻž āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡
āĻāĻ•āĻŸāĻŋ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻœā§āĻĄāĻŧā§‡āĨ¤

āĻ¯ā§‡āĻ•ā§‹āĻ¨ āĻ¸ā§āĻŦāĻ¤āĻ¨ā§āĻ¤ā§āĻ° ns-3 āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ°āĻžāĻ¨ āĻ¯āĻž DCF āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¤āĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ…āĻ¨ā§āĻ¤āĻ¤ āĻāĻ•āĻŸāĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦā§‡
āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻļā§āĻ°ā§‡āĻŖā§€āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋāĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĨ¤
[āĻ›āĻŦāĻŋ] āĻĄā§‡āĻŸāĻž āĻ•āĻžāĻ˛ā§‡āĻ•āĻļāĻ¨ āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ“āĻ­āĻžāĻ°āĻ­āĻŋāĻ‰āĨ¤UNINDENT

āĻ¤āĻĨā§āĻ¯ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ°āĻŖā§‡āĻ° āĻ¸āĻžāĻŽāĻ—ā§āĻ°āĻŋāĻ• āĻĒā§āĻ°āĻŦāĻžāĻš āĻšāĻŋāĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ‰āĻĒāĻžāĻ¤ā§āĻ¤ āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ“āĻ­āĻžāĻ°āĻ­āĻŋāĻ‰.
āĻŦāĻžāĻŽ āĻĻāĻŋāĻ•ā§‡, āĻāĻ•āĻŸāĻŋ āĻšāĻ˛āĻŽāĻžāĻ¨ ns-3 āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻšāĻŋāĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻšāĻ˛āĻžāĻ•āĻžāĻ˛ā§€āĻ¨ āĻ¸āĻŽāĻ¯āĻŧā§‡
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨, āĻĄā§‡āĻŸāĻž āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻŦāĻž āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻžāĻ¯āĻŧā§‡ āĻŽāĻĄā§‡āĻ˛ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
āĻĄāĻžāĻ¯āĻŧāĻžāĻ—ā§āĻ°āĻžāĻŽā§‡ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯ā§‡ āĻĒā§āĻ°ā§‹āĻŦāĻ—ā§āĻ˛āĻŋ āĻĄā§‡āĻŸāĻž āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ‡ āĻŸā§āĻ°ā§‡āĻ¸ āĻ‰āĻ¤ā§āĻ¸āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ…ā§āĻ¯āĻžāĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ¸āĻ­āĻžāĻŦā§‡, āĻ…āĻĨāĻŦāĻž āĻĒā§āĻ°ā§‹āĻŦ āĻĄā§‡āĻŸāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§‹āĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻĄā§‡āĻŸāĻž āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ—ā§āĻ°āĻžāĻšāĻ• āĻŦāĻ¸ā§āĻ¤ā§āĻ¤ā§‡ āĻĒā§āĻ°ā§‡āĻ°āĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻ¯ā§‡ āĻ¤āĻĨā§āĻ¯ āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤. āĻ…āĻŦāĻļā§‡āĻˇā§‡, āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ¯ā§‹āĻœāĻ¨āĻ•āĻžāĻ°ā§€āĻ•ā§‡ āĻāĻ° āĻ†āĻ‰āĻŸāĻĒā§āĻŸāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ¸āĻ‚āĻ—ā§āĻ°āĻžāĻšāĻ•, āĻĒā§āĻ˛āĻŸ, āĻĢāĻžāĻ‡āĻ˛ āĻŦāĻž āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡āĨ¤
[āĻ›āĻŦāĻŋ] āĻĄā§‡āĻŸāĻž āĻ•āĻžāĻ˛ā§‡āĻ•āĻļāĻ¨ āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻļāĻ¨āĨ¤UNINDENT

āĻ‰āĻĒāĻ°ā§‡āĻ° āĻšāĻŋāĻ¤ā§āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦā§ˆāĻšāĻŋāĻ¤ā§āĻ° āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ‰āĻĒāĻžāĻ¤ā§āĻ¤ āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻŽā§‹āĻŸ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ.
āĻāĻ‡ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻšāĻŋāĻ¤ā§āĻ°āĻŸāĻŋ āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻž āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻĄāĻŋāĻ¸āĻŋāĻāĻĢ āĻŦāĻ¸ā§āĻ¤ā§āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ¤ā§‡ āĻāĻ•āĻ¤ā§āĻ°ā§‡ āĻļā§ƒāĻ™ā§āĻ–āĻ˛āĻŋāĻ¤ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ¯ā§‡ āĻĄāĻžāĻ‰āĻ¨āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸāĻ—ā§āĻ˛āĻŋ āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻ†āĻĒāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻĨā§‡āĻ•ā§‡ āĻ‡āĻ¨āĻĒā§āĻŸ āĻ¨ā§‡āĻ¯āĻŧāĨ¤ āĻ…āĻŦāĻ•āĻžāĻ āĻžāĻŽā§‹
āĻ§āĻžāĻ°āĻŖāĻžāĻ—āĻ¤āĻ­āĻžāĻŦā§‡ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ āĻ¯ā§‡ āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻĒā§āĻ°ā§‹āĻŦ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻ¸āĻŋāĻ™ā§āĻ—ā§‡āĻ˛ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧ
āĻ¸āĻ‚āĻ—ā§āĻ°āĻžāĻšāĻ• āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻŋāĻ¸āĻžāĻŦā§‡, āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ—ā§āĻ°āĻžāĻšāĻ• āĻ¯ā§‡ āĻĻā§āĻŸāĻŋ āĻ•āĻžāĻ‰āĻ¨ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨ā§āĻĒāĻžāĻ¤ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ•āĻ°āĻŦā§‡
āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻĒā§ƒāĻĨāĻ• āĻĒā§āĻ°ā§‹āĻŦ āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ•āĻžāĻ‰āĻ¨ā§āĻŸāĻžāĻ° āĻĄā§‡āĻŸāĻž āĻ…āĻ°ā§āĻœāĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻ¸āĻ‚āĻ—ā§āĻ°āĻžāĻšāĻ•āĻ“ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ°ā§‡ āĻĢāĻŋāĻĄ, āĻ¯āĻž (āĻāĻ° āĻ¨āĻžāĻŽ āĻĨā§‡āĻ•ā§‡ āĻŦā§‹āĻāĻž āĻ¯āĻžāĻ¯āĻŧ) āĻ…āĻ¨ā§‡āĻ•āĻ—ā§āĻ˛āĻŋ āĻĄā§‡āĻŸāĻž āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻĒā§āĻ˛āĻŸ, āĻĢāĻžāĻ‡āĻ˛ āĻŦāĻž āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸ā§āĻŸā§āĻ°ā§€āĻŽāĨ¤

āĻ‰āĻĒāĻžāĻ¤ā§āĻ¤ āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€
āĻĄā§‡āĻŸāĻž āĻ¸āĻ‚āĻ—ā§āĻ°āĻšā§‡āĻ° āĻ•āĻžāĻ āĻžāĻŽā§‹āĻ° āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¨āĻŽāĻ¨ā§€āĻ¯āĻŧāĻ¤āĻž āĻ†āĻ¨ā§āĻ¤āĻƒāĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻĒā§āĻ°ā§‹āĻŦ, āĻ¸āĻ‚āĻ—ā§āĻ°āĻžāĻšāĻ• āĻāĻŦāĻ‚ āĻ¸āĻŽāĻˇā§āĻŸāĻŋāĻ°āĨ¤ āĻāĻ‡ āĻ†āĻ¨ā§āĻ¤āĻƒāĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ¸āĻŦ āĻ¸āĻžā§āĻšāĻžāĻ˛āĻ¨ āĻŦāĻžāĻĄāĻŧā§‡
āĻ‡āĻ‰āĻœāĻžāĻ° āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡ āĻ…āĻ¨ā§‡āĻ• āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¸ā§āĻŸā§‡āĻŸāĻŽā§‡āĻ¨ā§āĻŸāĨ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ•āĻŋāĻ›ā§
āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŦāĻ‚ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻŽāĻ§ā§āĻ¯ā§‡ encapsulated āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡. āĻ‰āĻĒāĻ°āĻ¨ā§āĻ¤ā§, āĻ•āĻŋāĻ›ā§
āĻœāĻĄāĻŧāĻŋāĻ¤ āĻŦāĻŋāĻŦā§ƒāĻ¤āĻŋ ns-3 āĻ¸ā§€āĻŽāĻžāĻŦāĻĻā§āĻ§āĻ¤āĻžāĻ° āĻ•āĻžāĻ°āĻŖā§‡ āĻŸā§āĻ°ā§‡āĻ¸ āĻ‰āĻ¤ā§āĻ¸āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚ āĻ¨ā§‡āĻ‡ā§ˇ
āĻŦāĻžāĻāĻ§āĻžāĻ‡

āĻ‰āĻĒāĻžāĻ¤ā§āĻ¤ āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€ āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻŦāĻŋāĻŦāĻ°āĻŖ
āĻāĻ‡ āĻŦāĻŋāĻ­āĻžāĻ—ā§‡, āĻ†āĻŽāĻ°āĻž āĻ•āĻŋāĻ›ā§ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ“āĻ­āĻžāĻ°āĻ­āĻŋāĻ‰ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻŋ āĻ¯āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
āĻ•āĻŋāĻ›ā§ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻĄā§‡āĻŸāĻž āĻ¸āĻ‚āĻ—ā§āĻ°āĻšā§‡āĻ° āĻ•āĻžāĻ āĻžāĻŽā§‹āĻ° āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¸āĻšāĻœ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻĻā§āĻ¯
āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻ¤āĻžāĻĻā§‡āĻ° C++ āĻŦāĻž āĻ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻŦāĻŋāĻŦā§ƒāĻ¤āĻŋ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ˛āĻžāĻĒ āĻ—āĻ āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ
āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻāĻ‡ āĻ¸āĻšāĻœāĻ˛āĻ­ā§āĻ¯āĻ¤āĻž āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–āĻ¯ā§‹āĻ—ā§āĻ¯āĻ­āĻžāĻŦā§‡ āĻ•āĻŽ āĻ–āĻ°āĻšā§‡ āĻ†āĻ¸ā§‡
āĻ¨āĻŋāĻŽā§āĻ¨-āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻ¤ā§āĻ˛āĻ¨āĻžāĻ¯āĻŧ āĻ¨āĻŽāĻ¨ā§€āĻ¯āĻŧāĻ¤āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻāĻŦāĻ‚ āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ­āĻžāĻŦā§‡ āĻ•ā§‹āĻĄ āĻ•āĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨
āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¨āĻ¤ā§āĻ¨ āĻĒā§āĻ°ā§‹āĻŦā§‡āĻ° āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ (āĻ¨ā§€āĻšā§‡ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯)āĨ¤

āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻ‰āĻĒāĻ° āĻœā§‹āĻ° āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧ āĻŽāĻžāĻ°ā§āĻļāĻžāĻ˛ āĻ¤āĻĨā§āĻ¯ āĻ†āĻ‰āĻŸ ns-3 āĻŽāĻ§ā§āĻ¯ā§‡ āĻ‰āĻ¤ā§āĻ¸ āĻŸā§āĻ°ā§‡āĻ¸
gnuplot āĻĒā§āĻ˛āĻŸ āĻŦāĻž āĻŸā§‡āĻ•ā§āĻ¸āĻŸ āĻĢāĻžāĻ‡āĻ˛, āĻ‰āĻšā§āĻš āĻŽāĻžāĻ¤ā§āĻ°āĻžāĻ° āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ•āĻžāĻ¸ā§āĻŸāĻŽāĻžāĻ‡āĻœā§‡āĻļāĻ¨ āĻŦāĻž āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡
āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ°āĻŖ (āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ•āĻ­āĻžāĻŦā§‡)āĨ¤ āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“, āĻ‰āĻĒāĻ˛āĻ­ā§āĻ¯ āĻĒā§āĻ°ā§‹āĻŦā§‡āĻ° āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¸ā§€āĻŽāĻžāĻŦāĻĻā§āĻ§
ns-3. āĻāĻ‡ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ā§‡āĻ° āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻŦāĻŋāĻ­āĻžāĻ—āĻ—ā§āĻ˛āĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§‡ āĻ†āĻ°āĻ“ āĻŦāĻŋāĻļāĻĻā§‡ āĻ¯āĻžāĻŦā§‡
āĻĒā§āĻ°ā§‹āĻŦā§‡āĻ° āĻ§āĻ°āĻ¨, āĻ¸ā§‡āĻ‡āĻ¸āĻžāĻĨā§‡ āĻĒā§āĻ°ā§‹āĻŦ, āĻ•āĻžāĻ˛ā§‡āĻ•ā§āĻŸāĻ° āĻāĻŦāĻ‚ āĻ…ā§āĻ¯āĻžāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ° āĻāĻ•āĻ¸āĻžāĻĨā§‡ āĻšā§āĻ• āĻ•āĻ°āĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§‡ āĻŦāĻŋāĻļāĻĻ āĻŦāĻŋāĻŦāĻ°āĻŖ
āĻ•āĻžāĻ¸ā§āĻŸāĻŽ āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻžāĻ¯āĻŧāĨ¤

āĻ†āĻœ āĻ…āĻŦāĻ§āĻŋ, āĻĻā§āĻŸāĻŋ āĻĄā§‡āĻŸāĻž āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻ¸āĻšāĻžāĻ¯āĻŧāĻ• āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡:

¡ GnuplotHelper

¡ āĻĢāĻžāĻ‡āĻ˛ āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ°

GnuplotHelper
GnuplotHelper āĻšāĻ˛ gnuplots āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ¸āĻšāĻžāĻ¯āĻŧāĻ• āĻļā§āĻ°ā§‡āĻŖā§€āĨ¤ āĻĻā§āĻ¯
āĻ¸āĻžāĻŽāĻ—ā§āĻ°āĻŋāĻ• āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻšāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋāĻ•ā§ƒāĻ¤ āĻĄā§‡āĻŸāĻž āĻĨā§‡āĻ•ā§‡ āĻĻā§āĻ°ā§āĻ¤ āĻĒā§āĻ˛āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻž
in ns-3 āĻ‰āĻ¤ā§āĻ¸ āĻŸā§āĻ°ā§‡āĻ¸ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡, āĻāĻ•āĻŸāĻŋ āĻ¨ā§āĻ¯ā§‚āĻ¨āĻ¤āĻŽ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻ¤āĻĨā§āĻ¯ āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻ¸āĻžā§āĻšāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧ;
āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ āĻšāĻ˛ āĻ¯āĻ¤ āĻ•āĻŽ (āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ) āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¸ā§āĻŸā§‡āĻŸāĻŽā§‡āĻ¨ā§āĻŸ āĻ¸āĻš āĻĒā§āĻ˛āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž
āĻ¸āĻŽā§āĻ­āĻŦ.

GnuplotHelper āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻŦāĻŋāĻŦāĻ°āĻŖ
GnuplotHelper āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻļā§‡āĻˇā§‡ 3āĻŸāĻŋ āĻ­āĻŋāĻ¨ā§āĻ¨ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦā§‡:

āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻĒā§‡āĻ¸ āĻŦāĻŋāĻ­āĻ•ā§āĻ¤ gnuplot āĻĄā§‡āĻŸāĻž āĻĢāĻžāĻ‡āĻ˛

āĻāĻ•āĻŸāĻŋ gnuplot āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛ āĻĢāĻžāĻ‡āĻ˛

gnuplot āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻļā§‡āĻ˛ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ

āĻĻā§āĻŸāĻŋ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¸ā§āĻŸā§‡āĻŸāĻŽā§‡āĻ¨ā§āĻŸ āĻ†āĻ›ā§‡ āĻ¯āĻž āĻĒā§āĻ˛āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨āĨ¤ āĻĒā§āĻ°āĻĨāĻŽ
āĻŦāĻŋāĻŦā§ƒāĻ¤āĻŋ āĻĒā§āĻ˛āĻŸ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°ā§‡ (āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ, āĻļāĻŋāĻ°ā§‹āĻ¨āĻžāĻŽ, āĻ•āĻŋāĻ‚āĻŦāĻĻāĻ¨ā§āĻ¤āĻŋ, āĻāĻŦāĻ‚ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĒā§āĻ°āĻ•āĻžāĻ°, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ
āĻ…āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĨāĻžāĻ•āĻ˛ā§‡ PNG āĻ¤ā§‡ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŸāĻžāĻ‡āĻĒ āĻ•āĻ°ā§āĻ¨):

void ConfigurePlot (const std::string &outputFileName WithoutExtension,
const std::string &title,
const std::string &xLegend,
const std::string &yLegend,
const std::string &terminalType = ".png");

āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻŦāĻŋāĻŦā§ƒāĻ¤āĻŋāĻŸāĻŋ āĻ†āĻ—ā§āĻ°āĻšā§‡āĻ° āĻŸā§āĻ°ā§‡āĻ¸ āĻ‰āĻ¤ā§āĻ¸āĻ•ā§‡ āĻšā§āĻ• āĻ•āĻ°ā§‡:

void PlotProbe (const std::string &typeId,
const std::string &path,
const std::string &probeTraceSource,
const std::string &title);

āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§‚āĻĒ:

¡ āĻŸāĻžāĻ‡āĻĒāĻ†āĻ‡āĻĄāĻŋ: The ns-3 āĻĒā§āĻ°ā§‹āĻŦā§‡āĻ° āĻŸāĻžāĻ‡āĻĒāĻ†āĻ‡āĻĄāĻŋ

¡ āĻĒāĻĨ: āĻĒāĻĨ ns-3 āĻāĻ• āĻŦāĻž āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻŸā§āĻ°ā§‡āĻ¸ āĻ‰ā§ŽāĻ¸ā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨

āĻĒā§āĻ°ā§‹āĻŦāĻŸā§āĻ°ā§‡āĻ¸āĻ¸ā§‹āĻ°ā§āĻ¸: āĻĒā§āĻ°ā§‹āĻŦā§‡āĻ° āĻ•ā§‹āĻ¨ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ (āĻ¨āĻŋāĻœā§‡āĻ‡ āĻāĻ•āĻŸāĻŋ āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸ā§‹āĻ°ā§āĻ¸) āĻĒā§āĻ˛āĻŸ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤

āĻļāĻŋāĻ°ā§‹āĻ¨āĻžāĻŽ: āĻĄā§‡āĻŸāĻžāĻ¸ā§‡āĻŸ(āĻ—ā§āĻ˛āĻŋ) āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻžāĻ° āĻļāĻŋāĻ°ā§‹āĻ¨āĻžāĻŽ (āĻ—ā§āĻ¨ā§āĻĒā§āĻ˛āĻŸ āĻ•āĻŋāĻ‚āĻŦāĻĻāĻ¨ā§āĻ¤āĻŋāĻ¤ā§‡)

āĻ‰āĻĒāĻ°ā§‡āĻ° āĻĒā§āĻ˛āĻŸāĻĒā§āĻ°ā§‹āĻŦā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻŦā§ˆāĻ•āĻ˛ā§āĻĒāĻŋāĻ• āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻĒāĻžā§āĻšāĻŽ āĻāĻšā§āĻ›āĻŋāĻ• āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻ¯āĻž āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ•āĻ°ā§‡
āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻĒā§āĻ˛āĻŸā§‡ āĻ•ā§€ (āĻ•āĻŋāĻ‚āĻŦāĻĻāĻ¨ā§āĻ¤āĻŋ) āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻž āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ (āĻĨā§‡āĻ•ā§‡ āĻ¸āĻĒā§āĻ¤āĻŽ.āĻ¸āĻŋāĻ¸āĻŋ) āĻ¨ā§€āĻšā§‡ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡:

// gnuplot āĻ¸āĻšāĻžāĻ¯āĻŧāĻ• āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨āĨ¤
GnuplotHelper plotHelper;

// āĻĒā§āĻ˛āĻŸ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°ā§āĻ¨āĨ¤
// āĻĒā§āĻ˛āĻŸ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°ā§āĻ¨āĨ¤ āĻĒā§āĻ°āĻĨāĻŽ āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻšāĻ˛ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—
// āĻ‰ā§ŽāĻĒāĻ¨ā§āĻ¨ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯āĨ¤ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ, āĻ¤ā§ƒāĻ¤ā§€āĻ¯āĻŧ āĻāĻŦāĻ‚ āĻšāĻ¤ā§āĻ°ā§āĻĨ
// āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻšāĻ˛, āĻ¯āĻĨāĻžāĻ•ā§āĻ°āĻŽā§‡, āĻĒā§āĻ˛āĻŸ āĻļāĻŋāĻ°ā§‹āĻ¨āĻžāĻŽ, x-āĻ…āĻ•ā§āĻˇ, āĻāĻŦāĻ‚ y-āĻ…āĻ•ā§āĻˇ āĻ˛ā§‡āĻŦā§‡āĻ˛
plotHelper.ConfigurePlot ("āĻ¸āĻĒā§āĻ¤āĻŽ-āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ-āĻŦāĻžāĻ‡āĻŸ-āĻ—āĻŖāĻ¨āĻž",
"āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻŦāĻžāĻ‡āĻŸ āĻ•āĻžāĻ‰āĻ¨ā§āĻŸ āĻŦāĻ¨āĻžāĻŽ āĻ¸āĻŽāĻ¯āĻŧ",
"āĻ¸āĻŽāĻ¯āĻŧ (āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ)",
"āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻŦāĻžāĻ‡āĻŸ āĻ•āĻžāĻ‰āĻ¨ā§āĻŸ",
"png");

// āĻĒā§āĻ°ā§‹āĻŦā§‡āĻ° āĻ§āĻ°āĻ¨, āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻĒāĻžāĻĨ (āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§‡) āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°ā§āĻ¨, āĻāĻŦāĻ‚
āĻĒā§āĻ˛āĻŸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ // āĻĒā§āĻ°ā§‹āĻŦ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸ā§‹āĻ°ā§āĻ¸ ("āĻ†āĻ‰āĻŸāĻĒā§āĻŸāĻŦāĻžāĻ‡āĻŸāĻ¸")āĨ¤ āĻšāĻ¤ā§āĻ°ā§āĻĨ āĻ¯ā§āĻ•ā§āĻ¤āĻŋ
// āĻĒā§āĻ˛āĻŸā§‡ āĻĄā§‡āĻŸāĻž āĻ¸āĻŋāĻ°āĻŋāĻœ āĻ˛ā§‡āĻŦā§‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°ā§‡āĨ¤ āĻ—āĻ¤
// āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻ•ā§€āĻŸāĻŋ āĻ•ā§‹āĻĨāĻžāĻ¯āĻŧ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ¤āĻž āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°ā§‡ āĻĒā§āĻ˛āĻŸ āĻĢāĻ°ā§āĻŽā§āĻ¯āĻžāĻŸ āĻ•āĻ°ā§‡āĨ¤
plotHelper.PlotProbe (probeType,
āĻŸā§āĻ°ā§‡āĻ¸āĻĒāĻĨ,
"āĻ†āĻ‰āĻŸāĻĒā§āĻŸāĻŦāĻžāĻ‡āĻŸāĻ¸",
"āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻŦāĻžāĻ‡āĻŸ āĻ•āĻžāĻ‰āĻ¨ā§āĻŸ",
GnuplotAggregator::KEY_BELOW);

āĻāĻ‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡, āĻĒā§āĻ°ā§‹āĻŦ āĻŸāĻžāĻ‡āĻĒ āĻāĻŦāĻ‚ āĻŸā§āĻ°ā§‡āĻ¸āĻĒāĻĨ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§‚āĻĒ (IPv4 āĻāĻ° āĻœāĻ¨ā§āĻ¯):

probeType = "ns3::Ipv4PacketProbe";
tracePath = "/NodeList/*/$ns3::Ipv4L3Protocol/Tx";

āĻāĻ‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€āĻ° āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ probeType āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻŽā§‚āĻ˛ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋāĨ¤ āĻāĻ‡ TypeId āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŋāĻ¤ āĻ•āĻ°āĻž āĻ†āĻŦāĻļā§āĻ¯āĻ•
āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡, āĻāĻŦāĻ‚ āĻĒā§āĻ°ā§‹āĻŦā§‡āĻ° āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸āĻŋāĻ™ā§āĻ•ā§‡āĻ° āĻ¸ā§āĻŦāĻžāĻ•ā§āĻˇāĻ° āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻŸā§āĻ°ā§‡āĻ¸ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŽā§‡āĻ˛ā§‡
āĻ‰āĻ¤ā§āĻ¸ āĻāĻŸāĻŋ āĻ†āĻŦāĻĻā§āĻ§ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡. āĻĒā§āĻ°ā§‹āĻŦā§‡āĻ° āĻĒā§āĻ°āĻ•āĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻ…āĻ¨ā§‡āĻ•āĻ—ā§āĻ˛āĻŋ āĻĄā§‡āĻŸāĻž āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§‚āĻ°ā§āĻŦ-āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤
āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ ns-3 āĻŸā§āĻ°ā§‡āĻ¸ āĻ•āĻ°āĻž āĻŽāĻžāĻ¨, āĻāĻŦāĻ‚ āĻ†āĻ°āĻ“ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ¸ā§āĻŦāĻžāĻ•ā§āĻˇāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¯ā§‡āĻŽāĻ¨
'Tx' āĻāĻ° āĻŸā§āĻ°ā§‡āĻ¸ āĻ‰ā§ŽāĻ¸ ns3::Ipv4L3 āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻŦāĻ°ā§āĻ—.

āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–ā§āĻ¯ āĻ¯ā§‡ āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻĒāĻžāĻĨā§‡ āĻ“āĻ¯āĻŧāĻžāĻ‡āĻ˛ā§āĻĄāĻ•āĻžāĻ°ā§āĻĄ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻāĻ•āĻžāĻ§āĻŋāĻ•
āĻĄā§‡āĻŸāĻžāĻ¸ā§‡āĻŸāĻ—ā§āĻ˛āĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ˛āĻŸā§‡ āĻĒā§āĻ˛āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ; āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻŽāĻŋāĻ˛ā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž āĻĒāĻĨā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋāĨ¤

āĻ‰āĻ¤ā§āĻĒāĻžāĻĻāĻŋāĻ¤ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛ āĻšāĻŦā§‡:

āĻ¸āĻĒā§āĻ¤āĻŽ-āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ-āĻŦāĻžāĻ‡āĻŸ-āĻ•āĻžāĻ‰āĻ¨ā§āĻŸ.āĻĄā§āĻ¯āĻžāĻŸ
āĻ¸āĻĒā§āĻ¤āĻŽ-āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ-āĻŦāĻžāĻ‡āĻŸ-āĻ•āĻžāĻ‰āĻ¨ā§āĻŸ.plt
āĻ¸āĻĒā§āĻ¤āĻŽ-āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ-āĻŦāĻžāĻ‡āĻŸ-āĻ•āĻžāĻ‰āĻ¨ā§āĻŸ.āĻļ

āĻāĻ‡ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§‡, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻ†āĻ°āĻ“ āĻ•āĻžāĻ¸ā§āĻŸāĻŽāĻžāĻ‡āĻœā§‡āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ .plt āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ…āĻĨāĻŦāĻž
āĻļā§āĻ§ā§ gnuplot āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻāĻŸāĻŋ āĻšāĻžāĻ˛āĻžāĻ¨āĨ¤ āĻšāĻ˛āĻŽāĻžāĻ¨ sh āĻ¸āĻĒā§āĻ¤āĻŽ-āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ-āĻŦāĻžāĻ‡āĻŸ-āĻ•āĻžāĻ‰āĻ¨ā§āĻŸ.āĻļ āĻ¸āĻšāĻœāĻ­āĻžāĻŦā§‡ āĻšāĻ•ā§āĻ°āĻžāĻ¨ā§āĻ¤ āĻšāĻžāĻ˛āĻžāĻ¯āĻŧ
gnuplot āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡, āĻ¯ā§‡āĻŽāĻ¨ āĻ¨ā§€āĻšā§‡ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
[āĻ›āĻŦāĻŋ] 2-āĻĄāĻŋ āĻ—ā§āĻ¨ā§āĻĒā§āĻ˛āĻŸ āĻ¸āĻĒā§āĻ¤āĻŽ.āĻ¸āĻŋāĻ¸āĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡..UNINDENT

āĻāĻŸāĻŋ āĻĻā§‡āĻ–āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¯ā§‡ āĻŽā§‚āĻ˛ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ (āĻ˛ā§‡āĻœā§‡āĻ¨ā§āĻĄ, āĻļāĻŋāĻ°ā§‹āĻ¨āĻžāĻŽ, āĻ•āĻŋāĻ‚āĻŦāĻĻāĻ¨ā§āĻ¤āĻŋ āĻŦāĻ¸āĻžāĻ¨ā§‹, xlabel, ylabel,
āĻāĻŦāĻ‚ āĻĄā§‡āĻŸāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻžāĻĨ) āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ˛āĻŸā§‡ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻĻā§āĻŸāĻŋ āĻŽā§āĻ¯āĻžāĻš āĻ›āĻŋāĻ˛
āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĒāĻžāĻĨ, āĻĻā§āĻŸāĻŋ āĻĄā§‡āĻŸāĻž āĻ¸āĻŋāĻ°āĻŋāĻœ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡:

¡ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻŦāĻžāĻ‡āĻŸ āĻ•āĻžāĻ‰āĻ¨ā§āĻŸ-0 /NodeList/0/$ns3::Ipv4L3Protocol/Tx āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻŽāĻŋāĻ˛ā§‡ āĻ¯āĻžāĻ¯āĻŧ

¡ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻŦāĻžāĻ‡āĻŸ āĻ•āĻžāĻ‰āĻ¨ā§āĻŸ-1 /NodeList/1/$ns3::Ipv4L3Protocol/Tx āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻŽāĻŋāĻ˛ā§‡ āĻ¯āĻžāĻ¯āĻŧ

GnuplotHelper āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°āĻĒā§āĻ˛āĻŸ
GnuplotHelper āĻāĻ° āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°āĻĒā§āĻ˛āĻŸ() āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĒā§āĻ˛āĻŸ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻāĻŸāĻŋāĻ° āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻŸāĻžāĻ‡āĻĒ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:

void ConfigurePlot (const std::string &outputFileName WithoutExtension,
const std::string &title,
const std::string &xLegend,
const std::string &yLegend,
const std::string &terminalType = ".png");

āĻāĻŸāĻŋāĻ¤ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:

┌───────────────────────────────â”Ŧ───────────────── ─────────────────┐
│āĻ¯ā§āĻ•ā§āĻ¤āĻŋ │ āĻŦāĻ°ā§āĻŖāĻ¨āĻž │
├───────────────────────────────â”ŧ───────────────── ─────────────────┤
│outputFileNameWithoutExtension │ gnuplot āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ │
│ │ āĻ•ā§‹āĻ¨ā§‹ āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ āĻ˛āĻŋāĻ–ā§āĻ¨āĨ¤ │
├───────────────────────────────â”ŧ───────────────── ─────────────────┤
│title │ āĻĒā§āĻ˛āĻŸ āĻļāĻŋāĻ°ā§‹āĻ¨āĻžāĻŽ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ │ āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡
│ │ āĻāĻ‡ āĻšāĻ•ā§āĻ°āĻžāĻ¨ā§āĻ¤. │
├───────────────────────────────â”ŧ───────────────── ─────────────────┤
│xLegend │ x āĻ…āĻ¨ā§āĻ­ā§‚āĻŽāĻŋāĻ• │ āĻœāĻ¨ā§āĻ¯ āĻ•āĻŋāĻ‚āĻŦāĻĻāĻ¨ā§āĻ¤āĻŋ
│ │ āĻ…āĻ•ā§āĻˇāĨ¤ │
├───────────────────────────────â”ŧ───────────────── ─────────────────┤
│yLegend │ y āĻ‰āĻ˛ā§āĻ˛āĻŽā§āĻŦ │ āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻŋāĻ‚āĻŦāĻĻāĻ¨ā§āĻ¤āĻŋ
│ │ āĻ…āĻ•ā§āĻˇāĨ¤ │
└───────────────────────────────┴───────────────── ─────────────────┘

│āĻŸāĻžāĻ°ā§āĻŽāĻŋāĻ¨āĻžāĻ˛ āĻŸāĻžāĻ‡āĻĒ │ āĻŸāĻžāĻ°ā§āĻŽāĻŋāĻ¨āĻžāĻ˛ āĻŸāĻžāĻ‡āĻĒ āĻ¸ā§‡āĻŸāĻŋāĻ‚ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ │ āĻāĻ° āĻœāĻ¨ā§āĻ¯
│ │ āĻ†āĻ‰āĻŸāĻĒā§āĻŸāĨ¤ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŸāĻžāĻ°ā§āĻŽāĻŋāĻ¨āĻžāĻ˛ │
│ │ āĻĒā§āĻ°āĻ•āĻžāĻ° "png"āĨ¤ │
└───────────────────────────────┴───────────────── ─────────────────┘

GnuplotHelper āĻāĻ° āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°āĻĒā§āĻ˛āĻŸ() āĻĢāĻžāĻ‚āĻļāĻ¨ āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ˛āĻŸ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°ā§‡
gnuplot helper āĻ¯āĻžāĻ¤ā§‡ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻĒā§‡āĻ¸ āĻŦāĻŋāĻ­āĻ•ā§āĻ¤ gnuplot āĻ¨āĻžāĻŽā§‡ āĻĄā§‡āĻŸāĻž āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦā§‡
outputFileNameWithoutExtension + ".dat", āĻ¨āĻžāĻŽā§‡āĻ° āĻāĻ•āĻŸāĻŋ gnuplot āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛ āĻĢāĻžāĻ‡āĻ˛
outputFileNameWithoutExtension + ".plt", āĻāĻŦāĻ‚ gnuplot āĻ¨āĻžāĻŽā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻļā§‡āĻ˛ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨
outputFileNameWithoutExtension + ".sh"āĨ¤

āĻāĻ‡ āĻĢāĻžāĻ‚āĻļāĻ¨āĻŸāĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ¤āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¤ā§‡ āĻĻā§‡āĻ–āĻž āĻ¯āĻžāĻŦā§‡ āĻ¸āĻĒā§āĻ¤āĻŽ.āĻ¸āĻŋāĻ¸āĻŋ āĻ‰āĻĒāĻ°ā§‡ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻ•ā§‹āĻĄ
āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻŸāĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§‚āĻĒ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛:

plotHelper.ConfigurePlot ("āĻ¸āĻĒā§āĻ¤āĻŽ-āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ-āĻŦāĻžāĻ‡āĻŸ-āĻ—āĻŖāĻ¨āĻž",
"āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻŦāĻžāĻ‡āĻŸ āĻ•āĻžāĻ‰āĻ¨ā§āĻŸ āĻŦāĻ¨āĻžāĻŽ āĻ¸āĻŽāĻ¯āĻŧ",
"āĻ¸āĻŽāĻ¯āĻŧ (āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ)",
"āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻŦāĻžāĻ‡āĻŸ āĻ•āĻžāĻ‰āĻ¨ā§āĻŸ",
"png");

GnuplotHelper āĻĒā§āĻ˛āĻŸāĻĒā§āĻ°ā§‹āĻŦ
GnuplotHelper āĻāĻ° āĻĒā§āĻ˛āĻŸāĻĒā§āĻ°ā§‹āĻŦ() āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĒā§āĻ°ā§‹āĻŦ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ‰āĻ¤ā§āĻĒāĻ¨ā§āĻ¨ āĻŽāĻžāĻ¨ āĻĒā§āĻ˛āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻāĻŸāĻŋāĻ° āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻŸāĻžāĻ‡āĻĒ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:

void PlotProbe (const std::string &typeId,
const std::string &path,
const std::string &probeTraceSource,
const std::string &title,
enum GnuplotAggregator::KeyLocation keyLocation = GnuplotAggregator::KEY_INSIDE);

āĻāĻŸāĻŋāĻ¤ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:

┌─────────────────â”Ŧ─────────────────────────────── ───┐
│āĻ¯ā§āĻ•ā§āĻ¤āĻŋ │ āĻŦāĻ°ā§āĻŖāĻ¨āĻž │
├─────────────────â”ŧ─────────────────────────────── ───┤
│typeId │ āĻĒā§āĻ°ā§‹āĻŦā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŸāĻžāĻ‡āĻĒ ID │
│ │ āĻāĻ‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¤ā§ˆāĻ°āĻŋ. │
├─────────────────â”ŧ─────────────────────────────── ───┤
│āĻĒāĻžāĻĨ │ āĻŸā§āĻ°ā§‡āĻ¸ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻžāĻĨ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°ā§āĻ¨ │
│ │ āĻ‰ā§ŽāĻ¸āĨ¤ │
├─────────────────â”ŧ─────────────────────────────── ───┤
│probeTraceSource │ āĻĒā§āĻ°ā§‹āĻŦā§‡āĻ° āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸ā§‹āĻ°ā§āĻ¸ │ āĻ
│ │ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸āĨ¤ │
├─────────────────â”ŧ─────────────────────────────── ───┤
│āĻļāĻŋāĻ°ā§‹āĻ¨āĻžāĻŽ │ āĻļāĻŋāĻ°ā§‹āĻ¨āĻžāĻŽāĻŸāĻŋ │ āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻŦā§‡ā§ˇ
│ │ āĻāĻ‡ āĻĄā§‡āĻŸāĻžāĻ¸ā§‡āĻŸ │
├─────────────────â”ŧ─────────────────────────────── ───┤
│āĻ•ā§€ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ │ │-āĻ āĻ•ā§€āĻŸāĻŋāĻ° āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¨
│ │ āĻĒā§āĻ˛āĻŸāĨ¤ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ āĻšāĻ˛ │ā§ˇ
│ │ āĻ­āĻŋāĻ¤āĻ°ā§‡āĨ¤ │
└─────────────────┴─────────────────────────────── ───┘

GnuplotHelper āĻāĻ° āĻĒā§āĻ˛āĻŸāĻĒā§āĻ°ā§‹āĻŦ() āĻĢāĻžāĻ‚āĻļāĻ¨ āĻšā§āĻ•āĻŋāĻ‚ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ‰āĻ¤ā§āĻĒāĻ¨ā§āĻ¨ āĻāĻ•āĻŸāĻŋ āĻĄā§‡āĻŸāĻžāĻ¸ā§‡āĻŸ āĻĒā§āĻ˛āĻŸ āĻ•āĻ°ā§‡ ns-3
āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻŦā§‡āĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ā§‡ āĻ‰āĻ¤ā§āĻ¸ āĻŸā§āĻ°ā§‡āĻ¸ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ° āĻĨā§‡āĻ•ā§‡ āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ˛āĻŸ āĻ•āĻ°ā§āĻ¨ā§ˇ
probeTraceSource. āĻĄā§‡āĻŸāĻžāĻ¸ā§‡āĻŸā§‡āĻ° āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻļāĻŋāĻ°ā§‹āĻ¨āĻžāĻŽ āĻĨāĻžāĻ•āĻŦā§‡ āĻāĻŦāĻ‚ āĻāĻ¤ā§‡ āĻĨāĻžāĻ•āĻŦā§‡
āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻŸāĻžāĻ‡āĻŽāĻ¸ā§āĻŸā§āĻ¯āĻžāĻŽā§āĻĒā§‡ 'newValue'āĨ¤

āĻ¯āĻĻāĻŋ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻĒāĻžāĻĨ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻŽāĻŋāĻ˛ āĻĨāĻžāĻ•ā§‡ āĻ•āĻžāĻ°āĻŖ āĻāĻ•āĻŸāĻŋ āĻ“āĻ¯āĻŧāĻžāĻ‡āĻ˛ā§āĻĄāĻ•āĻžāĻ°ā§āĻĄ āĻ†āĻ›ā§‡, āĻ¤āĻžāĻšāĻ˛ā§‡
āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻŽā§āĻ¯āĻžāĻšā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĄā§‡āĻŸāĻžāĻ¸ā§‡āĻŸ āĻĒā§āĻ˛āĻŸ āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤ āĻĄā§‡āĻŸāĻžāĻ¸ā§‡āĻŸ āĻļāĻŋāĻ°ā§‹āĻ¨āĻžāĻŽ āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻ¯āĻŧāĻŋāĻ¤ āĻšāĻŦā§‡
āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻĒāĻĨā§‡āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ“āĻ¯āĻŧāĻžāĻ‡āĻ˛ā§āĻĄāĻ•āĻžāĻ°ā§āĻĄā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŽāĻŋāĻ˛āĻŋāĻ¤ āĻ…āĻ•ā§āĻˇāĻ°, āĻ¸ā§āĻĒā§‡āĻ¸ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§ƒāĻĨāĻ• āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻœāĻ¨ā§āĻ¯
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ¯āĻĻāĻŋ āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦāĻŋāĻ¤ āĻĄā§‡āĻŸāĻžāĻ¸ā§‡āĻŸ āĻļāĻŋāĻ°ā§‹āĻ¨āĻžāĻŽāĻŸāĻŋ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ "āĻŦāĻžāĻ‡āĻŸ" āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻĻā§āĻŸāĻŋ āĻ“āĻ¯āĻŧāĻžāĻ‡āĻ˛ā§āĻĄāĻ•āĻžāĻ°ā§āĻĄ āĻĨāĻžāĻ•ā§‡
āĻĒāĻžāĻĨā§‡, āĻ¤āĻžāĻ°āĻĒāĻ° "āĻŦāĻžāĻ‡āĻŸ-ā§Ļ ā§Ļ" āĻŦāĻž "āĻŦāĻžāĻ‡āĻŸāĻ¸-ā§§ā§¨ 0" āĻāĻ° āĻŽāĻ¤ā§‹ āĻĄā§‡āĻŸāĻžāĻ¸ā§‡āĻŸ āĻļāĻŋāĻ°ā§‹āĻ¨āĻžāĻŽāĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻ­āĻŦ āĻšāĻŦā§‡
āĻĒā§āĻ˛āĻŸ āĻ•āĻ°āĻž āĻĄā§‡āĻŸāĻžāĻ¸ā§‡āĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ˛ā§‡āĻŦā§‡āĻ˛āĨ¤

āĻāĻ‡ āĻĢāĻžāĻ‚āĻļāĻ¨āĻŸāĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ¤āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¤ā§‡ āĻĻā§‡āĻ–āĻž āĻ¯āĻžāĻŦā§‡ āĻ¸āĻĒā§āĻ¤āĻŽ.āĻ¸āĻŋāĻ¸āĻŋ āĻ‰āĻĒāĻ°ā§‡ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻ•ā§‹āĻĄ
āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ (āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ¸āĻš) āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§‚āĻĒ:

plotHelper.PlotProbe ("ns3::Ipv4PacketProbe",
"/NodeList/*/$ns3::Ipv4L3Protocol/Tx",
"āĻ†āĻ‰āĻŸāĻĒā§āĻŸāĻŦāĻžāĻ‡āĻŸāĻ¸",
"āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻŦāĻžāĻ‡āĻŸ āĻ•āĻžāĻ‰āĻ¨ā§āĻŸ",
GnuplotAggregator::KEY_BELOW);

āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ
āĻœā§āĻžāĻžāĻ¨āĻĒā§āĻ˛āĻŸ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ
āĻ¤ā§āĻ˛āĻ¨āĻžāĻ¯āĻŧ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻŽāĻžāĻ¨ā§āĻ¯ āĻ¸āĻšāĻœ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸āĻĒā§āĻ¤āĻŽ.āĻ¸āĻŋāĻ¸āĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§‡
src/stats/examples/gnuplot-helper-example.cc. āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ 2-D gnuplot āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ.
[āĻ›āĻŦāĻŋ] 2-āĻĄāĻŋ āĻ—ā§āĻ¨ā§āĻĒā§āĻ˛āĻŸ gnuplot-helper-example.cc āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ..UNINDENT

āĻāĻ‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡, āĻāĻ•āĻŸāĻŋ āĻ‡āĻŽāĻŋāĻŸāĻžāĻ° āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ†āĻ›ā§‡ āĻ¯āĻž a āĻ…āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§€ āĻ¤āĻžāĻ° āĻ•āĻžāĻ‰āĻ¨ā§āĻŸāĻžāĻ° āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻ•āĻ°ā§‡
āĻĒāĻ¯āĻŧāĻ¸āĻ¨ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻ•āĻŸāĻŋ āĻŸā§āĻ°ā§‡āĻ¸ āĻ‰ā§ŽāĻ¸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ•āĻžāĻ‰āĻ¨ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻŽāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻ—āĻ¤ āĻ•āĻ°ā§‡āĨ¤

Ptr emitter = CreateObject ();
āĻ¨āĻžāĻŽ::āĻ…ā§āĻ¯āĻžāĻĄ ("/āĻ¨āĻžāĻŽ/āĻ‡āĻŽāĻŋāĻŸāĻžāĻ°", āĻ‡āĻŽāĻŋāĻŸāĻžāĻ°);

āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–ā§āĻ¯ āĻ¯ā§‡ āĻ¨ā§€āĻšā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻĒāĻĨā§‡ āĻ•ā§‹āĻ¨ā§‹ āĻ“āĻ¯āĻŧāĻžāĻ‡āĻ˛ā§āĻĄāĻ•āĻžāĻ°ā§āĻĄ āĻ¨āĻž āĻĨāĻžāĻ•āĻžāĻ¯āĻŧ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° ā§§āĻŸāĻŋ āĻĄā§‡āĻŸāĻžāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ āĻ›āĻŋāĻ˛
āĻĒā§āĻ˛āĻŸā§‡ āĻ†āĻāĻ•āĻžāĨ¤ āĻĒā§āĻ˛āĻŸā§‡ āĻāĻ‡ āĻāĻ•āĻ• āĻĄāĻžāĻŸāĻžāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽāĻŸāĻŋ āĻ•ā§‡āĻŦāĻ˛ "āĻ‡āĻŽāĻŋāĻŸāĻžāĻ° āĻ•āĻžāĻ‰āĻ¨ā§āĻŸ" āĻ˛ā§‡āĻŦā§‡āĻ˛āĻ¯ā§āĻ•ā§āĻ¤āĨ¤
āĻĒāĻĨā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ“āĻ¯āĻŧāĻžāĻ‡āĻ˛ā§āĻĄāĻ•āĻžāĻ°ā§āĻĄ āĻ†āĻ›ā§‡ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻŦā§‡ āĻāĻŽāĻ¨ āĻ•ā§‹āĻ¨ā§‹ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻ¯āĻŧ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡āĨ¤

// gnuplot āĻ¸āĻšāĻžāĻ¯āĻŧāĻ• āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨āĨ¤
GnuplotHelper plotHelper;

// āĻĒā§āĻ˛āĻŸ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°ā§āĻ¨āĨ¤
plotHelper.ConfigurePlot ("gnuplot-helper-example",
"āĻ‡āĻŽāĻŋāĻŸāĻžāĻ° āĻ•āĻžāĻ‰āĻ¨ā§āĻŸāĻ¸ āĻŦāĻ¨āĻžāĻŽ āĻ¸āĻŽāĻ¯āĻŧ",
"āĻ¸āĻŽāĻ¯āĻŧ (āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ)",
"āĻ‡āĻŽāĻŋāĻŸāĻžāĻ° āĻ•āĻžāĻ‰āĻ¨ā§āĻŸ",
"png");

// āĻĒā§āĻ°ā§‹āĻŦā§‡āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ‰āĻ¤ā§āĻĒāĻ¨ā§āĻ¨ āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ˛āĻŸ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻĒāĻĨ āĻ¯ā§‡ āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨
// āĻŸā§āĻ°ā§‡āĻ¸ā§‡āĻ° āĻ‰ā§ŽāĻ¸āĻ•ā§‡ āĻĻā§āĻŦā§āĻ¯āĻ°ā§āĻĨāĻšā§€āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°ā§‡āĨ¤
plotHelper.PlotProbe ("ns3::Uinteger32Probe",
"/āĻ¨āĻžāĻŽ/āĻ‡āĻŽāĻŋāĻŸāĻžāĻ°/āĻ•āĻžāĻ‰āĻ¨ā§āĻŸāĻžāĻ°",
"āĻ†āĻ‰āĻŸāĻĒā§āĻŸ",
"āĻ‡āĻŽāĻŋāĻŸāĻžāĻ° āĻ•āĻžāĻ‰āĻ¨ā§āĻŸ",
GnuplotAggregator::KEY_INSIDE);

āĻĢāĻžāĻ‡āĻ˛ āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ°
FileHelper āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻ¸āĻšāĻžāĻ¯āĻŧāĻ• āĻļā§āĻ°ā§‡āĻŖā§€ āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻĄā§‡āĻŸāĻž āĻŽāĻžāĻ¨ āĻ°āĻžāĻ–āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻ¸āĻžāĻ°ā§āĻŦāĻŋāĻ• āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻšāĻ˛
āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋ āĻ•āĻ°āĻž āĻĄā§‡āĻŸāĻž āĻĨā§‡āĻ•ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻĻā§āĻ°ā§āĻ¤ āĻĢāĻ°ā§āĻŽā§āĻ¯āĻžāĻŸ āĻ•āĻ°āĻž āĻŸā§‡āĻ•ā§āĻ¸āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡
in ns-3 āĻ‰āĻ¤ā§āĻ¸ āĻŸā§āĻ°ā§‡āĻ¸ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡, āĻāĻ•āĻŸāĻŋ āĻ¨ā§āĻ¯ā§‚āĻ¨āĻ¤āĻŽ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻ¤āĻĨā§āĻ¯ āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻ¸āĻžā§āĻšāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧ;
āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ āĻšāĻ˛ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ (āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ) āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¸ā§āĻŸā§‡āĻŸāĻŽā§‡āĻ¨ā§āĻŸ āĻ¸āĻš āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž
āĻ¸āĻŽā§āĻ­āĻŦ.

āĻĢāĻžāĻ‡āĻ˛ āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ° āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻŦāĻŋāĻŦāĻ°āĻŖ
āĻĢāĻžāĻ‡āĻ˛āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ° āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ā§‡āĻ° āĻļā§‡āĻˇā§‡ 1 āĻŦāĻž āĻ¤āĻžāĻ° āĻŦā§‡āĻļāĻŋ āĻŸā§‡āĻ•ā§āĻ¸āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦā§‡āĨ¤

FileHelper 4āĻŸāĻŋ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻŸā§‡āĻ•ā§āĻ¸āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡:

¡ āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸āĻŋāĻ¤

¡ āĻ¸ā§āĻĨāĻžāĻ¨ āĻĒā§ƒāĻĨāĻ• āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ)

¡ āĻ•āĻŽāĻž āĻĒā§ƒāĻĨāĻ• āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡

¡ āĻŸā§āĻ¯āĻžāĻŦ āĻ†āĻ˛āĻžāĻĻāĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡

āĻĢāĻ°ā§āĻŽā§āĻ¯āĻžāĻŸ āĻ•āĻ°āĻž āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻ¤āĻžāĻĻā§‡āĻ° āĻŽā§āĻĻā§āĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ C-āĻ¸ā§āĻŸāĻžāĻ‡āĻ˛ āĻĢāĻ°ā§āĻŽā§āĻ¯āĻžāĻŸ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻāĻŦāĻ‚ sprintf() āĻĢāĻžāĻ‚āĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡
āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻŽāĻžāĻ¨ āĻ˛ā§‡āĻ–āĻž āĻšāĻšā§āĻ›ā§‡āĨ¤

āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻŸā§‡āĻ•ā§āĻ¸āĻŸ āĻĢāĻžāĻ‡āĻ˛ 2 āĻ•āĻ˛āĻžāĻŽ āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻŸ āĻŽāĻžāĻ¨ āĻ¨āĻžāĻŽ āĻĻāĻŋāĻ¯āĻŧā§‡
āĻ¸āĻĒā§āĻ¤āĻŽ-āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ-āĻŦāĻžāĻ‡āĻŸ-āĻ•āĻžāĻ‰āĻ¨ā§āĻŸ-0.txt āĻ†āĻ°āĻ“ āĻ¨āĻ¤ā§āĻ¨ āĻ•ā§‹āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻ¯āĻž āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛
āĻŽā§‚āĻ˛ ns-3 āĻŸāĻŋāĻ‰āĻŸā§‹āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻ° āĻ•ā§‹āĻĄ. āĻāĻ‡ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒā§āĻ°āĻĨāĻŽ 10 āĻ˛āĻžāĻ‡āĻ¨ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧ
āĻāĻ–āĻžāĻ¨ā§‡ āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤āĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯āĨ¤

āĻ¸āĻŽāĻ¯āĻŧ (āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ) = 1.000e+00 āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻŦāĻžāĻ‡āĻŸ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž = 40
āĻ¸āĻŽāĻ¯āĻŧ (āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ) = 1.004e+00 āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻŦāĻžāĻ‡āĻŸ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž = 40
āĻ¸āĻŽāĻ¯āĻŧ (āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ) = 1.004e+00 āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻŦāĻžāĻ‡āĻŸ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž = 576
āĻ¸āĻŽāĻ¯āĻŧ (āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ) = 1.009e+00 āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻŦāĻžāĻ‡āĻŸ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž = 576
āĻ¸āĻŽāĻ¯āĻŧ (āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ) = 1.009e+00 āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻŦāĻžāĻ‡āĻŸ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž = 576
āĻ¸āĻŽāĻ¯āĻŧ (āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ) = 1.015e+00 āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻŦāĻžāĻ‡āĻŸ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž = 512
āĻ¸āĻŽāĻ¯āĻŧ (āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ) = 1.017e+00 āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻŦāĻžāĻ‡āĻŸ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž = 576
āĻ¸āĻŽāĻ¯āĻŧ (āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ) = 1.017e+00 āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻŦāĻžāĻ‡āĻŸ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž = 544
āĻ¸āĻŽāĻ¯āĻŧ (āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ) = 1.025e+00 āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻŦāĻžāĻ‡āĻŸ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž = 576
āĻ¸āĻŽāĻ¯āĻŧ (āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ) = 1.025e+00 āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻŦāĻžāĻ‡āĻŸ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž = 544

...

āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻŸā§‡āĻ•ā§āĻ¸āĻŸ āĻĢāĻžāĻ‡āĻ˛ 2 āĻ•āĻ˛āĻžāĻŽ āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻŸ āĻŽāĻžāĻ¨ āĻ¨āĻžāĻŽ āĻĻāĻŋāĻ¯āĻŧā§‡
āĻ¸āĻĒā§āĻ¤āĻŽ-āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ-āĻŦāĻžāĻ‡āĻŸ-āĻ•āĻžāĻ‰āĻ¨ā§āĻŸ-1.txt āĻāĻ•āĻ‡ āĻ¨āĻ¤ā§āĻ¨ āĻ•ā§‹āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻ¯āĻž āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛
āĻŽā§‚āĻ˛ ns-3 āĻŸāĻŋāĻ‰āĻŸā§‹āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻ° āĻ•ā§‹āĻĄ. āĻāĻ‡ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒā§āĻ°āĻĨāĻŽ 10 āĻ˛āĻžāĻ‡āĻ¨ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧ
āĻāĻ–āĻžāĻ¨ā§‡ āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤āĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯āĨ¤

āĻ¸āĻŽāĻ¯āĻŧ (āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ) = 1.002e+00 āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻŦāĻžāĻ‡āĻŸ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž = 40
āĻ¸āĻŽāĻ¯āĻŧ (āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ) = 1.007e+00 āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻŦāĻžāĻ‡āĻŸ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž = 40
āĻ¸āĻŽāĻ¯āĻŧ (āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ) = 1.013e+00 āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻŦāĻžāĻ‡āĻŸ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž = 40
āĻ¸āĻŽāĻ¯āĻŧ (āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ) = 1.020e+00 āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻŦāĻžāĻ‡āĻŸ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž = 40
āĻ¸āĻŽāĻ¯āĻŧ (āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ) = 1.028e+00 āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻŦāĻžāĻ‡āĻŸ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž = 40
āĻ¸āĻŽāĻ¯āĻŧ (āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ) = 1.036e+00 āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻŦāĻžāĻ‡āĻŸ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž = 40
āĻ¸āĻŽāĻ¯āĻŧ (āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ) = 1.045e+00 āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻŦāĻžāĻ‡āĻŸ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž = 40
āĻ¸āĻŽāĻ¯āĻŧ (āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ) = 1.053e+00 āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻŦāĻžāĻ‡āĻŸ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž = 40
āĻ¸āĻŽāĻ¯āĻŧ (āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ) = 1.061e+00 āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻŦāĻžāĻ‡āĻŸ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž = 40
āĻ¸āĻŽāĻ¯āĻŧ (āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ) = 1.069e+00 āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻŦāĻžāĻ‡āĻŸ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž = 40

...

āĻĻā§āĻŸāĻŋ āĻĒāĻžāĻ ā§āĻ¯ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻ¯ā§‡ āĻ¨āĻ¤ā§āĻ¨ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻ¤āĻž āĻ¨ā§€āĻšā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ†āĻ°ā§‹ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤
āĻāĻ‡ API āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ āĻ•āĻ­āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤

āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ āĻ¯ā§‡ āĻĒāĻĨāĻŸāĻŋāĻ¤ā§‡ āĻ“āĻ¯āĻŧāĻžāĻ‡āĻ˛ā§āĻĄāĻ•āĻžāĻ°ā§āĻĄā§‡āĻ° āĻœāĻ¨ā§āĻ¯ 2āĻŸāĻŋ āĻŽāĻŋāĻ˛ āĻ›āĻŋāĻ˛, 2āĻŸāĻŋ āĻĒā§ƒāĻĨāĻ• āĻĒāĻžāĻ ā§āĻ¯ āĻĢāĻžāĻ‡āĻ˛
āĻ¸ā§ƒāĻˇā§āĻŸāĻŋ āĻ•āĻ°ā§‡āĻ›āĻŋāĻ˛. āĻĒā§āĻ°āĻĨāĻŽ āĻŸā§‡āĻ•ā§āĻ¸āĻŸ āĻĢāĻžāĻ‡āĻ˛, āĻ¯āĻžāĻ° āĻ¨āĻžāĻŽ "seventh-packet-byte-count-0.txt",
āĻ“āĻ¯āĻŧāĻžāĻ‡āĻ˛ā§āĻĄāĻ•āĻžāĻ°ā§āĻĄ āĻŽā§āĻ¯āĻžāĻšā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŽāĻŋāĻ˛ā§‡ āĻ¯āĻžāĻ¯āĻŧ "*" āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ "0" āĻāĻ° āĻ¸āĻžāĻĨā§‡āĨ¤ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻŸā§‡āĻ•ā§āĻ¸āĻŸ āĻĢāĻžāĻ‡āĻ˛,
āĻ¯āĻžāĻ° āĻ¨āĻžāĻŽ "seventh-packet-byte-count-1.txt", āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ“āĻ¯āĻŧāĻžāĻ‡āĻ˛ā§āĻĄāĻ•āĻžāĻ°ā§āĻĄ āĻŽāĻŋāĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŽāĻŋāĻ˛ā§‡ āĻ¯āĻžāĻ¯āĻŧ
"*" "1" āĻĻāĻŋāĻ¯āĻŧā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“, āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ•āĻ˛ āĻ¯ā§‡ āĻ¨ā§‹āĻŸ WriteProbe() āĻāĻ•āĻŸāĻŋ āĻĻā§‡āĻŦā§‡
āĻ“āĻ¯āĻŧāĻžāĻ‡āĻ˛ā§āĻĄāĻ•āĻžāĻ°ā§āĻĄ āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§‡ āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻĒāĻĨā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§‹āĻ¨ā§‹ āĻŽāĻŋāĻ˛ āĻ¨āĻž āĻĨāĻžāĻ•āĻ˛ā§‡ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻžāĨ¤

// āĻĢāĻžāĻ‡āĻ˛ āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨āĨ¤
āĻĢāĻžāĻ‡āĻ˛āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ° āĻĢāĻžāĻ‡āĻ˛āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ°;

// āĻ˛ā§‡āĻ–āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĢāĻžāĻ‡āĻ˛ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°ā§āĻ¨āĨ¤
fileHelper.ConfigureFile ("āĻ¸āĻĒā§āĻ¤āĻŽ-āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ-āĻŦāĻžāĻ‡āĻŸ-āĻ—āĻŖāĻ¨āĻž",
āĻĢāĻžāĻ‡āĻ˛ āĻ…ā§āĻ¯āĻžāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ°::āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻŸā§‡āĻĄ);

// āĻāĻ‡ āĻĢāĻ°ā§āĻŽā§āĻ¯āĻžāĻŸ āĻ•āĻ°āĻž āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ˛ā§‡āĻŦā§‡āĻ˛ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨āĨ¤
fileHelper.Set2dFormat ("āĻ¸āĻŽāĻ¯āĻŧ (āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ) = %.3e\tāĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻŦāĻžāĻ‡āĻŸ āĻ•āĻžāĻ‰āĻ¨ā§āĻŸ = %.0f");

// āĻĒā§āĻ°ā§‹āĻŦā§‡āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ‰āĻ¤ā§āĻĒāĻ¨ā§āĻ¨ āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ˛āĻŋāĻ–ā§āĻ¨āĨ¤
fileHelper.WriteProbe ("ns3::Ipv4PacketProbe",
"/NodeList/*/$ns3::Ipv4L3Protocol/Tx",
"āĻ†āĻ‰āĻŸāĻĒā§āĻŸāĻŦāĻžāĻ‡āĻŸāĻ¸");

āĻĢāĻžāĻ‡āĻ˛ āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ° āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻĢāĻžāĻ‡āĻ˛
āĻĢāĻžāĻ‡āĻ˛ āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ° āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻĢāĻžāĻ‡āĻ˛() āĻĢāĻžāĻ‚āĻļāĻ¨āĻŸāĻŋ āĻŸā§‡āĻ•ā§āĻ¸āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻāĻŸāĻŋāĻ° āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻŸāĻžāĻ‡āĻĒ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:

void ConfigureFile (const std::string &outputFileNameWithoutExtension,
enum FileAggregator::FileType fileType = FileAggregator::SPACE_SEPARATED);

āĻāĻŸāĻŋāĻ¤ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:

┌───────────────────────────────â”Ŧ───────────────── ─────────────────┐
│āĻ¯ā§āĻ•ā§āĻ¤āĻŋ │ āĻŦāĻ°ā§āĻŖāĻ¨āĻž │
├───────────────────────────────â”ŧ───────────────── ─────────────────┤
│outputFileNameWithoutExtension │ āĻ˛ā§‡āĻ–āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ │
│ │ āĻ•ā§‹āĻ¨ā§‹ āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡āĨ¤ │
├───────────────────────────────â”ŧ───────────────── ─────────────────┤
│fileType │ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻĒā§āĻ°āĻ•āĻžāĻ° āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ │
│ │ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻĒā§āĻ°āĻ•āĻžāĻ° āĻšāĻ˛ āĻ¸ā§āĻĨāĻžāĻ¨ │
│ │ āĻĒā§ƒāĻĨāĻ• āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ │
└───────────────────────────────┴───────────────── ─────────────────┘

āĻĢāĻžāĻ‡āĻ˛ āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ° āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻĢāĻžāĻ‡āĻ˛() āĻĢāĻžāĻ‚āĻļāĻ¨ āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻŸā§‡āĻ•ā§āĻ¸āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°ā§‡
āĻĢāĻžāĻ‡āĻ˛ āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ° āĻ¯āĻžāĻ¤ā§‡ āĻāĻŸāĻŋ outputFileNameWithoutExtension plus āĻ¨āĻžāĻŽā§‡ āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦā§‡
āĻ“āĻ¯āĻŧāĻžāĻ‡āĻ˛ā§āĻĄāĻ•āĻžāĻ°ā§āĻĄ āĻŽā§āĻ¯āĻžāĻš āĻĒā§āĻ˛āĻžāĻ¸ ".txt" āĻĨā§‡āĻ•ā§‡ āĻ¸āĻŽā§āĻ­āĻžāĻŦā§āĻ¯ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ¤āĻĨā§āĻ¯ āĻŽā§āĻĻā§āĻ°āĻŋāĻ¤ āĻŽāĻžāĻ¨ āĻ¸āĻš
āĻĢāĻžāĻ‡āĻ˛ āĻŸāĻžāĻ‡āĻĒ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ§āĻ°āĻ¨ āĻ¸ā§āĻĨāĻžāĻ¨-āĻŦāĻŋāĻšā§āĻ›āĻŋāĻ¨ā§āĻ¨āĨ¤

āĻāĻ‡ āĻĢāĻžāĻ‚āĻļāĻ¨āĻŸāĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ¤āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¤ā§‡ āĻĻā§‡āĻ–āĻž āĻ¯āĻžāĻŦā§‡ āĻ¸āĻĒā§āĻ¤āĻŽ.āĻ¸āĻŋāĻ¸āĻŋ āĻ‰āĻĒāĻ°ā§‡ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻ•ā§‹āĻĄ
āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻŸāĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§‚āĻĒ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛:

fileHelper.ConfigureFile ("āĻ¸āĻĒā§āĻ¤āĻŽ-āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ-āĻŦāĻžāĻ‡āĻŸ-āĻ—āĻŖāĻ¨āĻž",
āĻĢāĻžāĻ‡āĻ˛ āĻ…ā§āĻ¯āĻžāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ°::āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻŸā§‡āĻĄ);

āĻĢāĻžāĻ‡āĻ˛ āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ° WriteProbe
āĻĢāĻžāĻ‡āĻ˛ āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ° WriteProbe() āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĒā§āĻ°ā§‹āĻŦ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ‰āĻ¤ā§āĻĒāĻ¨ā§āĻ¨ āĻŽāĻžāĻ¨ āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻŸā§‡āĻ•ā§āĻ¸āĻŸ āĻĢāĻžāĻ‡āĻ˛āĨ¤

āĻāĻŸāĻŋāĻ° āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻŸāĻžāĻ‡āĻĒ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:

void WriteProbe (const std::string &typeId,
const std::string &path,
const std::string &probeTraceSource);

āĻāĻŸāĻŋāĻ¤ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:

┌─────────────────â”Ŧ─────────────────────────────── ───┐
│āĻ¯ā§āĻ•ā§āĻ¤āĻŋ │ āĻŦāĻ°ā§āĻŖāĻ¨āĻž │
├─────────────────â”ŧ─────────────────────────────── ───┤
│typeId │ āĻĒā§āĻ°ā§‹āĻŦā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŸāĻžāĻ‡āĻĒ ID │ āĻšāĻ¤ā§‡ āĻšāĻŦā§‡
│ │ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ │
├─────────────────â”ŧ─────────────────────────────── ───┤
│āĻĒāĻžāĻĨ │ āĻŸā§āĻ°ā§‡āĻ¸ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻžāĻĨ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°ā§āĻ¨ │
│ │ āĻ‰ā§ŽāĻ¸āĨ¤ │
├─────────────────â”ŧ─────────────────────────────── ───┤
│probeTraceSource │ āĻĒā§āĻ°ā§‹āĻŦā§‡āĻ° āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸ā§‹āĻ°ā§āĻ¸ │ āĻ
│ │ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸āĨ¤ │
└─────────────────┴─────────────────────────────── ───┘

āĻĢāĻžāĻ‡āĻ˛ āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ° WriteProbe() āĻĢāĻžāĻ‚āĻļāĻ¨ āĻšā§āĻ•āĻŋāĻ‚ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ‰āĻ¤ā§āĻĒāĻ¨ā§āĻ¨ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻŸā§‡āĻ•ā§āĻ¸āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡
āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻŦā§‡āĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ā§‡ ns-3 āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸ā§‹āĻ°ā§āĻ¸, āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ° āĻĨā§‡āĻ•ā§‡ āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ˛ā§‡āĻ–āĻž
probeTraceSource. āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽā§‡āĻ° āĻĒāĻžāĻ ā§āĻ¯ āĻ¸āĻĻāĻ¸ā§āĻ¯ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŋāĻ¤ āĻĨāĻžāĻ•āĻŦā§‡
m_outputFileNameWithoutExtension āĻĒā§āĻ˛āĻžāĻ¸ ".txt", āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋāĻ¤ā§‡ 'newValue' āĻĨāĻžāĻ•āĻŦā§‡
āĻŸāĻžāĻ‡āĻŽāĻ¸ā§āĻŸā§āĻ¯āĻžāĻŽā§āĻĒ

āĻ¯āĻĻāĻŋ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻĒāĻžāĻĨ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻŽāĻŋāĻ˛ āĻĨāĻžāĻ•ā§‡ āĻ•āĻžāĻ°āĻŖ āĻāĻ•āĻŸāĻŋ āĻ“āĻ¯āĻŧāĻžāĻ‡āĻ˛ā§āĻĄāĻ•āĻžāĻ°ā§āĻĄ āĻ†āĻ›ā§‡, āĻ¤āĻžāĻšāĻ˛ā§‡
āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻŽā§āĻ¯āĻžāĻšā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°āĻŦā§‡
m_outputFileNameWithoutExtension-āĻ āĻĒāĻžāĻ ā§āĻ¯ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻŽāĻŋāĻ˛ā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž āĻ…āĻ•ā§āĻˇāĻ°
āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻĒāĻžāĻĨā§‡ āĻ“āĻ¯āĻŧāĻžāĻ‡āĻ˛ā§āĻĄāĻ•āĻžāĻ°ā§āĻĄ, āĻĄā§āĻ¯āĻžāĻļ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§ƒāĻĨāĻ• āĻ•āĻ°āĻž, āĻĒā§āĻ˛āĻžāĻ¸ ".txt"āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ¯āĻĻāĻŋ āĻŽāĻžāĻ¨
m_outputFileNameWithoutExtension-āĻ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻšāĻ˛ "āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ-āĻŦāĻžāĻ‡āĻŸ-āĻ•āĻžāĻ‰āĻ¨ā§āĻŸ", āĻāĻŦāĻ‚ āĻĻā§āĻŸāĻŋ āĻ†āĻ›ā§‡
āĻĒāĻĨā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ“āĻ¯āĻŧāĻžāĻ‡āĻ˛ā§āĻĄāĻ•āĻžāĻ°ā§āĻĄ, āĻ¤āĻžāĻ°āĻĒāĻ° āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ āĻ¯ā§‡āĻŽāĻ¨ "packet-byte-count-0-0.txt" āĻŦāĻž
āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻ¨āĻžāĻŽ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ "packet-byte-count-12-9.txt" āĻ¸āĻŽā§āĻ­āĻŦ āĻšāĻŦā§‡āĨ¤

āĻāĻ‡ āĻĢāĻžāĻ‚āĻļāĻ¨āĻŸāĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ¤āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¤ā§‡ āĻĻā§‡āĻ–āĻž āĻ¯āĻžāĻŦā§‡ āĻ¸āĻĒā§āĻ¤āĻŽ.āĻ¸āĻŋāĻ¸āĻŋ āĻ‰āĻĒāĻ°ā§‡ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻ•ā§‹āĻĄ
āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻŸāĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§‚āĻĒ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛:

fileHelper.WriteProbe ("ns3::Ipv4PacketProbe",
"/NodeList/*/$ns3::Ipv4L3Protocol/Tx",
"āĻ†āĻ‰āĻŸāĻĒā§āĻŸāĻŦāĻžāĻ‡āĻŸāĻ¸");

āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ
āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ
āĻ¤ā§āĻ˛āĻ¨āĻžāĻ¯āĻŧ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻŽāĻžāĻ¨ā§āĻ¯ āĻ¸āĻšāĻœ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸āĻĒā§āĻ¤āĻŽ.āĻ¸āĻŋāĻ¸āĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§‡
src/stats/examples/file-helper-example.cc. āĻāĻ‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻŸāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° FileHelper āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤

āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻŸā§‡āĻ•ā§āĻ¸āĻŸ āĻĢāĻžāĻ‡āĻ˛ 2 āĻ•āĻ˛āĻžāĻŽ āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻŸ āĻŽāĻžāĻ¨ āĻ¨āĻžāĻŽ āĻĻāĻŋāĻ¯āĻŧā§‡ file-helper-example.txt
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻāĻ‡ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋāĻ° āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒā§āĻ°āĻĨāĻŽ 10āĻŸāĻŋ āĻ˛āĻžāĻ‡āĻ¨ āĻāĻ–āĻžāĻ¨ā§‡ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤āĻ¤āĻž

āĻ¸āĻŽāĻ¯āĻŧ (āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ) = 0.203 āĻ—āĻŖāĻ¨āĻž = 1
āĻ¸āĻŽāĻ¯āĻŧ (āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ) = 0.702 āĻ—āĻŖāĻ¨āĻž = 2
āĻ¸āĻŽāĻ¯āĻŧ (āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ) = 1.404 āĻ—āĻŖāĻ¨āĻž = 3
āĻ¸āĻŽāĻ¯āĻŧ (āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ) = 2.368 āĻ—āĻŖāĻ¨āĻž = 4
āĻ¸āĻŽāĻ¯āĻŧ (āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ) = 3.364 āĻ—āĻŖāĻ¨āĻž = 5
āĻ¸āĻŽāĻ¯āĻŧ (āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ) = 3.579 āĻ—āĻŖāĻ¨āĻž = 6
āĻ¸āĻŽāĻ¯āĻŧ (āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ) = 5.873 āĻ—āĻŖāĻ¨āĻž = 7
āĻ¸āĻŽāĻ¯āĻŧ (āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ) = 6.410 āĻ—āĻŖāĻ¨āĻž = 8
āĻ¸āĻŽāĻ¯āĻŧ (āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ) = 6.472 āĻ—āĻŖāĻ¨āĻž = 9
...

āĻāĻ‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡, āĻāĻ•āĻŸāĻŋ āĻ‡āĻŽāĻŋāĻŸāĻžāĻ° āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ†āĻ›ā§‡ āĻ¯āĻž a āĻ…āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§€ āĻ¤āĻžāĻ° āĻ•āĻžāĻ‰āĻ¨ā§āĻŸāĻžāĻ° āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻ•āĻ°ā§‡
āĻĒāĻ¯āĻŧāĻ¸āĻ¨ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻ•āĻŸāĻŋ āĻŸā§āĻ°ā§‡āĻ¸ āĻ‰ā§ŽāĻ¸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ•āĻžāĻ‰āĻ¨ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻŽāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻ—āĻ¤ āĻ•āĻ°ā§‡āĨ¤

Ptr emitter = CreateObject ();
āĻ¨āĻžāĻŽ::āĻ…ā§āĻ¯āĻžāĻĄ ("/āĻ¨āĻžāĻŽ/āĻ‡āĻŽāĻŋāĻŸāĻžāĻ°", āĻ‡āĻŽāĻŋāĻŸāĻžāĻ°);

āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–ā§āĻ¯ āĻ¯ā§‡ āĻ¨āĻŋāĻšā§‡āĻ° āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻĒāĻžāĻĨā§‡ āĻ•ā§‹āĻ¨ā§‹ āĻ“āĻ¯āĻŧāĻžāĻ‡āĻ˛ā§āĻĄāĻ•āĻžāĻ°ā§āĻĄ āĻ¨āĻž āĻĨāĻžāĻ•āĻžāĻ¯āĻŧ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° 1āĻŸāĻŋ āĻŸā§‡āĻ•ā§āĻ¸āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻ›āĻŋāĻ˛
āĻ¤ā§ˆāĻ°āĻŋ āĻāĻ‡ āĻāĻ•āĻ• āĻŸā§‡āĻ•ā§āĻ¸āĻŸ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋāĻ•ā§‡ āĻ¸āĻšāĻœāĻ­āĻžāĻŦā§‡ "file-helper-example.txt" āĻ¨āĻžāĻŽ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ•ā§‹āĻ¨ā§‹ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡
āĻ†āĻĒāĻ¨āĻžāĻ° āĻŽāĻ¤ā§‹ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻ¯āĻŧāĻ—ā§āĻ˛āĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻŦā§‡ āĻ¯ā§‡ āĻĒāĻĨā§‡ āĻ“āĻ¯āĻŧāĻžāĻ‡āĻ˛ā§āĻĄāĻ•āĻžāĻ°ā§āĻĄ āĻ†āĻ›ā§‡ āĻ•āĻŋāĻ¨āĻžāĨ¤

// āĻĢāĻžāĻ‡āĻ˛ āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨āĨ¤
āĻĢāĻžāĻ‡āĻ˛āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ° āĻĢāĻžāĻ‡āĻ˛āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ°;

// āĻ˛ā§‡āĻ–āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĢāĻžāĻ‡āĻ˛ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°ā§āĻ¨āĨ¤
fileHelper.ConfigureFile ("āĻĢāĻžāĻ‡āĻ˛-āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ°-āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ",
āĻĢāĻžāĻ‡āĻ˛ āĻ…ā§āĻ¯āĻžāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ°::āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻŸā§‡āĻĄ);

// āĻāĻ‡ āĻĢāĻ°ā§āĻŽā§āĻ¯āĻžāĻŸ āĻ•āĻ°āĻž āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ˛ā§‡āĻŦā§‡āĻ˛ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨āĨ¤
fileHelper.Set2dFormat ("āĻ¸āĻŽāĻ¯āĻŧ (āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ) = %.3e\tCount = %.0f");

// āĻĒā§āĻ°ā§‹āĻŦā§‡āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ‰āĻ¤ā§āĻĒāĻ¨ā§āĻ¨ āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ˛āĻŋāĻ–ā§āĻ¨āĨ¤ āĻ¯ā§‡ āĻĒāĻĨā§‡ āĻ†āĻŽāĻ°āĻž
// āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻŸā§āĻ°ā§‡āĻ¸ā§‡āĻ° āĻ‰ā§ŽāĻ¸āĻ•ā§‡ āĻĻā§āĻŦā§āĻ¯āĻ°ā§āĻĨāĻšā§€āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°ā§‡āĨ¤
fileHelper.WriteProbe ("ns3::Uinteger32Probe",
"/āĻ¨āĻžāĻŽ/āĻ‡āĻŽāĻŋāĻŸāĻžāĻ°/āĻ•āĻžāĻ‰āĻ¨ā§āĻŸāĻžāĻ°",
"āĻ†āĻ‰āĻŸāĻĒā§āĻŸ");

āĻŦā§āĻ¯āĻžāĻĒā§āĻ¤āĻŋ āĻāĻŦāĻ‚ āĻ¸ā§€āĻŽāĻžāĻŦāĻĻā§āĻ§āĻ¤āĻž
āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§‡, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ‡ āĻĒā§āĻ°ā§‹āĻŦāĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ GnuplotHelper-āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
āĻĢāĻžāĻ‡āĻ˛ āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ°ā§‡āĻ° āĻ•āĻžāĻ›ā§‡:

āĻŦā§āĻ˛āĻŋāĻ¯āĻŧāĻžāĻ¨āĻĒā§āĻ°ā§‹āĻŦ

¡ āĻĄāĻžāĻŦāĻ˛āĻĒā§āĻ°ā§‹āĻŦ

¡ Uinteger8Probe

¡ Uinteger16Probe

¡ Uinteger32Probe

¡ āĻŸāĻžāĻ‡āĻŽāĻĒā§āĻ°ā§‹āĻŦ

¡ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸāĻĒā§āĻ°ā§‹āĻŦ

¡ ApplicationPacketProbe

¡ Ipv4PacketProbe

āĻ¤āĻžāĻ‡ āĻāĻ‡ āĻĒā§āĻ°ā§‹āĻŦāĻ—ā§āĻ˛āĻŋāĻ‡ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° TypeIds āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻĒā§āĻ˛āĻŸāĻĒā§āĻ°ā§‹āĻŦ() āĻāĻŦāĻ‚
WriteProbe().

āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻŦāĻŋāĻ­āĻžāĻ—ā§‡, āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻŽā§ŒāĻ˛āĻŋāĻ• āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ§āĻ°āĻ¨āĻ•ā§‡ āĻ•āĻ­āĻžāĻ° āĻ•āĻ°āĻŦ (āĻĒā§āĻ°ā§‹āĻŦ, āĻ•āĻžāĻ˛ā§‡āĻ•ā§āĻŸāĻ°,
āĻāĻŦāĻ‚ āĻāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ°) āĻ†āĻ°ā§‹ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤āĻ­āĻžāĻŦā§‡ āĻĻā§‡āĻ–āĻžāĻ¨ āĻāĻŦāĻ‚ āĻĻā§‡āĻ–āĻžāĻ¨ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ¤āĻžāĻ°āĻž āĻāĻ•āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ¨āĻŋāĻŽā§āĻ¨-āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° APIāĨ¤

āĻĒā§āĻ°ā§‹āĻŦ
āĻāĻ‡ āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ āĻĒā§āĻ°ā§‹āĻŦ āĻ•ā§āĻ˛āĻžāĻ¸ āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻ•āĻŸāĻŋāĻ•ā§‡ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻžāĻ° āĻŦāĻŋāĻŦāĻ°āĻŖ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ ns-3
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨, āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻ•ā§‹āĻĄ āĻ•āĻ°āĻžāĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻāĻ‡ āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ āĻœāĻ¨ā§āĻ¯ āĻŦā§‹āĻāĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧ
āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻ†āĻ—ā§āĻ°āĻšā§€ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž ns-3 āĻŸā§āĻ˛āĻ¸ āĻāĻŦāĻ‚ āĻĄā§‡āĻŸāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡
āĻ¸āĻ‚āĻ—ā§āĻ°āĻšā§‡āĻ° āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•, āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĒā§āĻ°ā§‹āĻŦ āĻ•ā§āĻ˛āĻžāĻ¸ āĻāĻ•āĻŸāĻŋ āĻ…āĻ‚āĻļ, āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻĄā§‡āĻŸāĻž āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻāĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛āĨ¤

āĻĒā§āĻ°ā§‹āĻŦ āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻŦāĻŋāĻŦāĻ°āĻŖ
āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻŦ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻĨāĻžāĻ•āĻžāĻ° āĻ•āĻĨāĻž āĻ¯āĻžāĻ° āĻŽāĻžāĻ¨
āĻĒā§āĻ°ā§‹ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻœā§āĻĄāĻŧā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻžāĻ¸āĻ™ā§āĻ—āĻŋāĻ•āĨ¤ āĻ¤āĻĻāĻ¨ā§āĻ¤ āĻ•āĻŋ āĻ›āĻŋāĻ˛ āĻ°ā§‡āĻ•āĻ°ā§āĻĄ āĻ•āĻ°āĻŦā§‡
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻœā§āĻĄāĻŧā§‡ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ…āĻ¨ā§āĻŽāĻžāĻ¨ āĻ•āĻ°āĻž āĻŽāĻžāĻ¨ āĻāĻŦāĻ‚ āĻāĻ‡ āĻœāĻžāĻ¤ā§€āĻ¯āĻŧ āĻĄā§‡āĻŸāĻž āĻ…āĻ¨ā§āĻ¯āĻ•ā§‡ āĻĒā§āĻ°ā§‡āĻ°āĻŖ āĻ•āĻ°ā§‡
āĻĄā§‡āĻŸāĻž āĻ¸āĻ‚āĻ—ā§āĻ°āĻšā§‡āĻ° āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•ā§‡āĻ° āĻ¸āĻĻāĻ¸ā§āĻ¯āĨ¤ āĻ¯āĻĻāĻŋāĻ“ āĻāĻŸāĻŋ āĻāĻ‡ āĻŦāĻŋāĻ­āĻžāĻ—ā§‡āĻ° āĻ¸ā§āĻ¯ā§‹āĻ—ā§‡āĻ° āĻŦāĻžāĻ‡āĻ°ā§‡
āĻĒā§āĻ°ā§‹āĻŦ āĻ¤āĻžāĻ° āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡ āĻ•ā§€ āĻ˜āĻŸāĻŦā§‡ āĻ¤āĻž āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°ā§āĻ¨, āĻāĻŸāĻŋ āĻŦāĻ˛āĻžāĻ‡ āĻ¯āĻĨā§‡āĻˇā§āĻŸ
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ā§‡āĻ° āĻļā§‡āĻˇā§‡, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻ•āĻžāĻ›ā§‡ āĻ•ā§€ āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ›āĻŋāĻ˛ āĻ¸ā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻ¤āĻĨā§āĻ¯ āĻĨāĻžāĻ•āĻŦā§‡
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻ•āĻ°āĻž āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤, āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻŦ āĻāĻ•āĻŸāĻŋ āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻĨāĻžāĻ•ā§‡ ns-3 āĻ‰ā§ŽāĻ¸ āĻŸā§āĻ°ā§‡āĻ¸. āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ¤ā§‡, āĻ¯āĻ–āĻ¨āĻ‡
āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻžāĻ¨ āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋ āĻ•āĻ°ā§‡, āĻĒā§āĻ°ā§‹āĻŦ āĻŽāĻžāĻ¨āĻŸāĻŋ āĻ—ā§āĻ°āĻžāĻ¸ āĻ•āĻ°ā§‡ (āĻāĻŦāĻ‚ āĻ¨āĻŋāĻšā§‡āĻ° āĻĻāĻŋāĻ•ā§‡ āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋ āĻ•āĻ°ā§‡
āĻ…āĻ¨ā§āĻ¯ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻŸā§āĻ°ā§‡āĻ¸ āĻ‰ā§ŽāĻ¸ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡)āĨ¤

āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨āĻŸāĻŋāĻ•ā§‡ āĻŸā§āĻ°ā§‡āĻ¸ āĻ‰āĻ¤ā§āĻ¸ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻ° āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ•āĻžāĻ°āĻŖ
āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻāĻ•āĻŸāĻŋ āĻŸā§āĻ°ā§‡āĻ¸ āĻ‰āĻ¤ā§āĻ¸ā§‡āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻŦā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§‚āĻĒ:

¡ āĻ•āĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĒā§āĻ°ā§‹āĻŦāĻ—ā§āĻ˛āĻŋ āĻ—āĻ¤āĻŋāĻļā§€āĻ˛āĻ­āĻžāĻŦā§‡ āĻšāĻžāĻ˛ā§ āĻāĻŦāĻ‚ āĻŦāĻ¨ā§āĻ§ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ()
āĻāĻŦāĻ‚ āĻ¨āĻŋāĻˇā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ(). āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻĄā§‡āĻŸāĻž āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻŽāĻ†āĻĒ āĻĢā§‡āĻœāĨ¤

¡ āĻĒā§āĻ°ā§‹āĻŦāĻ—ā§āĻ˛āĻŋ āĻ†āĻ°āĻ“ āĻœāĻŸāĻŋāĻ˛ āĻĨā§‡āĻ•ā§‡ āĻŽāĻžāĻ¨ āĻŦā§‡āĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĄā§‡āĻŸāĻžāĻ° āĻ‰āĻĒāĻ° āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ•āĻžāĻ āĻžāĻŽā§‹; āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ ns3::āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻ†āĻ•āĻžāĻ°ā§‡āĻ° āĻŽāĻžāĻ¨ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ•āĻ°āĻžāĨ¤

āĻĒā§āĻ°ā§‹āĻŦāĻ—ā§āĻ˛āĻŋ ns3::Config āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻžāĻŽ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ āĻ•āĻ°ā§‡ (āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¨āĻžāĻŽ::āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ ()) āĻ¯āĻžāĻ¤ā§‡ āĻ…āĻ¨ā§āĻ¯
āĻŦāĻ¸ā§āĻ¤ā§ āĻ¤āĻžāĻĻā§‡āĻ° āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡.

āĻĒā§āĻ°ā§‹āĻŦāĻ—ā§āĻ˛āĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻĨāĻŋāĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻ¯āĻž āĻāĻ•āĻœāĻ¨āĻ•ā§‡ āĻ¨āĻžāĻŽ āĻ…āĻ¨ā§āĻ¸āĻžāĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻŦ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ, āĻ¯ā§‡āĻŽāĻ¨
ns2measure āĻ āĻ•āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ [Cic06]

Stat::put ("my_metric", ID, āĻ¨āĻŽā§āĻ¨āĻž);

āĻ‰āĻĒāĻ°ā§‡āĻ° ns3measure āĻ•ā§‹āĻĄā§‡āĻ° ns-2 āĻ¸āĻŽāĻ¤ā§āĻ˛ā§āĻ¯, āĻ¯ā§‡āĻŽāĻ¨

DoubleProbe::SetValueByPath ("/path/to/probe", āĻ¨āĻŽā§āĻ¨āĻž);

āĻ¸ā§ƒāĻˇā§āĻŸāĻŋ
āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ āĻ¯ā§‡ āĻĒā§āĻ°ā§‹āĻŦ āĻŦā§‡āĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¯āĻžāĻŦā§‡ āĻ¨āĻž āĻ•āĻžāĻ°āĻŖ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻŽā§‚āĻ°ā§āĻ¤ āĻŦā§‡āĻ¸
āĻ•ā§āĻ˛āĻžāĻ¸, āĻ…āĻ°ā§āĻĨāĻžā§Ž āĻāĻŸāĻŋāĻ¤ā§‡ āĻŦāĻŋāĻļā§āĻĻā§āĻ§ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻšāĻ¯āĻŧāĻ¨āĻŋāĨ¤ āĻāĻ•āĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§
DoubleProbe āĻŸāĻžāĻ‡āĻĒ āĻ•āĻ°ā§āĻ¨, āĻ¯āĻž āĻĒā§āĻ°ā§‹āĻŦ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻŦāĻ•ā§āĻ˛āĻžāĻ¸, āĻĻā§‡āĻ–āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ–āĻžāĻ¨ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻŦā§‡
āĻ•āĻŋ āĻ•āĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨.

āĻāĻ•āĻœāĻ¨ āĻ¸ā§āĻŽāĻžāĻ°ā§āĻŸ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻ•ā§āĻ˛āĻžāĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĄāĻžāĻ‡āĻ¨āĻžāĻŽāĻŋāĻ• āĻŽā§‡āĻŽāĻ°āĻŋāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻĄāĻžāĻŦāĻ˛āĻĒā§āĻ°ā§‹āĻŦ āĻ˜ā§‹āĻˇāĻŖāĻž āĻ•āĻ°ā§‡ (Ptr ) āĻĒā§āĻ°āĻ¤āĻŋ
āĻ¸ā§āĻŽāĻžāĻ°ā§āĻŸ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻĻāĻŋāĻ¯āĻŧā§‡ āĻĄāĻžāĻ‡āĻ¨āĻžāĻŽāĻŋāĻ• āĻŽā§‡āĻŽāĻ°āĻŋāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ DoubleProbe āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨, āĻāĻ•āĻœāĻ¨āĻ•ā§‡ āĻļā§āĻ§ā§ āĻ•āĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡
ns-3 āĻĒāĻĻā§āĻ§āĻ¤āĻŋ CreateObject():

Ptr myprobe = CreateObject ();

āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ˜ā§‹āĻˇāĻŖāĻžāĻŸāĻŋ āĻ¤āĻžāĻ° āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŽāĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ DoubleProbes āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĨ¤
DoubleProbe āĻ•ā§āĻ˛āĻžāĻ¸ā§‡ āĻšāĻžāĻ°āĻŸāĻŋ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡; āĻŦā§‡āĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡ āĻĻā§āĻŸāĻŋ
DataCollectionObject, āĻāĻŦāĻ‚ āĻĻā§āĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻŦ āĻŦā§‡āĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡:

¡ "āĻ¨āĻžāĻŽ" (āĻĄā§‡āĻŸāĻž āĻ•āĻžāĻ˛ā§‡āĻ•āĻļāĻ¨ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ), āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻ­ā§āĻ¯āĻžāĻ˛ā§

¡ "āĻ¸āĻ•ā§āĻˇāĻŽ" (DataCollectionObject), āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ˛āĻŋāĻ¯āĻŧāĻžāĻ¨ āĻ­ā§āĻ¯āĻžāĻ˛ā§

¡ "āĻ¸ā§āĻŸāĻžāĻ°ā§āĻŸ" (āĻĒā§āĻ°ā§‹āĻŦ), āĻāĻ•āĻŸāĻŋ āĻŸāĻžāĻ‡āĻŽ āĻ­ā§āĻ¯āĻžāĻ˛ā§

¡ "āĻ¸ā§āĻŸāĻĒ" (āĻĒā§āĻ°ā§‹āĻŦ), āĻāĻ•āĻŸāĻŋ āĻŸāĻžāĻ‡āĻŽ āĻ­ā§āĻ¯āĻžāĻ˛ā§

āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ•ā§‡āĻ‰ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋāĻ¤ā§‡ āĻāĻ‡ āĻœāĻžāĻ¤ā§€āĻ¯āĻŧ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡:

Ptr myprobe = CreateObjectWithAttributes (
"āĻ¨āĻžāĻŽ", āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻ­ā§āĻ¯āĻžāĻ˛ā§ ("āĻŽāĻžāĻ‡āĻĒā§āĻ°ā§‹āĻŦ"),
"āĻ¸āĻ•ā§āĻˇāĻŽ", āĻŦā§āĻ˛āĻŋāĻ¯āĻŧāĻžāĻ¨ āĻ­ā§āĻ¯āĻžāĻ˛ā§ (āĻŽāĻŋāĻĨā§āĻ¯āĻž),
"āĻ¸ā§āĻŸāĻžāĻ°ā§āĻŸ", ​​āĻŸāĻžāĻ‡āĻŽ āĻ­ā§āĻ¯āĻžāĻ˛ā§ (āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ (100.0)),
"āĻ¸ā§āĻŸāĻĒ", āĻŸāĻžāĻ‡āĻŽ āĻ­ā§āĻ¯āĻžāĻ˛ā§ (āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ (1000.0)));

āĻ¸ā§āĻŸāĻžāĻ°ā§āĻŸ āĻāĻŦāĻ‚ āĻ¸ā§āĻŸāĻĒ āĻšāĻ˛ āĻŸāĻžāĻ‡āĻŽ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ¯āĻž āĻĒā§āĻ°ā§‹āĻŦā§‡āĻ° āĻ•āĻ°ā§āĻŽā§‡āĻ° āĻŦā§āĻ¯āĻŦāĻ§āĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§‡āĨ¤ āĻĻā§āĻ¯
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ā§‡āĻ° āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ¸āĻŽāĻ¯āĻŧ āĻ¯āĻĻāĻŋ āĻāĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻĨāĻžāĻ•ā§‡ āĻ¤āĻŦā§‡āĻ‡ āĻĒā§āĻ°ā§‹āĻŦ āĻĄā§‡āĻŸāĻž āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ•āĻ°āĻŦā§‡
āĻ…āĻ¨ā§āĻ¤āĻ°. āĻ¸ā§āĻŸāĻĒā§‡āĻ° āĻœāĻ¨ā§āĻ¯ 0 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡āĻ° āĻŦāĻŋāĻļā§‡āĻˇ āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻŽāĻžāĻ¨ āĻāĻ‡ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻŸāĻŋāĻ•ā§‡ āĻ¨āĻŋāĻˇā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻŦā§‡ (āĻ¯ā§‡āĻŽāĻ¨
āĻĒā§āĻ°ā§‹ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°ā§‹āĻŦ āĻšāĻžāĻ˛ā§ āĻ°āĻžāĻ–ā§āĻ¨)āĨ¤ Enabled āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻĒāĻ¤āĻžāĻ•āĻž āĻ¯āĻž āĻĒā§āĻ°ā§‹āĻŦāĻ•ā§‡ āĻŦāĻž āĻšāĻžāĻ˛ā§ āĻ•āĻ°ā§‡
āĻŦāĻ¨ā§āĻ§, āĻāĻŦāĻ‚ āĻ¤āĻĨā§āĻ¯ āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°ā§‹āĻŦā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ¤ā§āĻ¯ā§‡ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻ†āĻŦāĻļā§āĻ¯āĻ•āĨ¤ āĻ¨āĻžāĻŽ āĻšāĻ˛ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ¨āĻžāĻŽ
DCF āĻ•āĻžāĻ āĻžāĻŽā§‹āĻ° āĻŽāĻ§ā§āĻ¯ā§‡āĨ¤

āĻ†āĻŽāĻĻāĻžāĻ¨āĻŋ āĻšāĻšā§āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋ āĻ‰āĻĒāĻžāĻ¤ā§āĻ¤
ns-3 āĻŸā§āĻ°ā§‡āĻ¸ āĻ‰āĻ¤ā§āĻ¸ āĻĻā§ƒāĻĸāĻŧāĻ­āĻžāĻŦā§‡ āĻŸāĻžāĻ‡āĻĒ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻ‡ āĻāĻ•āĻŸāĻŋ āĻŸā§āĻ°ā§‡āĻ¸ā§‡ āĻĒā§āĻ°ā§‹āĻŦāĻ•ā§‡ āĻšā§āĻ• āĻ•āĻ°āĻžāĻ° āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž
āĻ‰ā§ŽāĻ¸ āĻāĻŦāĻ‚ āĻĄā§‡āĻŸāĻž āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ° āĻ‰āĻĒāĻļā§āĻ°ā§‡āĻŖā§€āĻ° āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ—āĻ¤āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ
āĻŦāĻŋāĻ¤āĻ°āĻŖ ns-3 āĻāĻ•āĻŸāĻŋ āĻļā§āĻ°ā§‡āĻŖā§€ DoubleProbe āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻŸā§āĻ°ā§‡āĻ¸ āĻšā§āĻ• āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
āĻāĻ•āĻŸāĻŋ āĻĄāĻŦāĻ˛ āĻŽāĻžāĻ¨ āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋ āĻ‰ā§ŽāĻ¸. āĻ†āĻŽāĻ°āĻž āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€āĻ¤ā§‡ DoubleProbe-āĻāĻ° āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻœāĻžāĻ¨āĻžāĻŦ, āĻāĻŦāĻ‚
āĻ¤āĻžāĻ°āĻĒāĻ° āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°ā§āĻ¨ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĒā§āĻ°ā§‹āĻŦ āĻ•ā§āĻ˛āĻžāĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻĄāĻžāĻŦāĻ˛āĻĒā§āĻ°ā§‹āĻŦ āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻŦāĻŋāĻŦāĻ°āĻŖ
DoubleProbe āĻāĻ•āĻŸāĻŋ āĻĻā§āĻŦāĻŋāĻ—ā§āĻŖ-āĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡ ns-3 āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸ā§‹āĻ°ā§āĻ¸, āĻāĻŦāĻ‚ āĻ¨āĻŋāĻœā§‡āĻ‡ āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋ āĻ•āĻ°ā§‡
āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĻā§āĻŦāĻŋ-āĻŽā§‚āĻ˛ā§āĻ¯āĻŦāĻžāĻ¨ ns-3 āĻ‰ā§ŽāĻ¸ āĻŸā§āĻ°ā§‡āĻ¸.

āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•ā§‹āĻĄ, āĻĨā§‡āĻ•ā§‡ āĻ†āĻāĻ•āĻž src/stats/examples/double-probe-example.cc, āĻŽā§ŒāĻ˛āĻŋāĻ• āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ
āĻĄāĻžāĻŦāĻ˛āĻĒā§āĻ°ā§‹āĻŦāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ā§‡ āĻĒā§āĻ˛āĻžāĻŽā§āĻŦāĻŋāĻ‚ āĻ•āĻ°āĻžāĻ° āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ•āĻžāĻ‰āĻ¨ā§āĻŸāĻžāĻ° āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻ•āĻ°āĻ›ā§‡
āĻāĻ•āĻŸāĻŋ āĻ‡āĻŽāĻŋāĻŸāĻžāĻ° āĻŦāĻ¸ā§āĻ¤ā§ (āĻļā§āĻ°ā§‡āĻŖāĻŋ āĻ‡āĻŽāĻŋāĻŸāĻžāĻ°) āĻĻā§āĻŦāĻžāĻ°āĻž āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

Ptr emitter = CreateObject ();
āĻ¨āĻžāĻŽ::āĻ…ā§āĻ¯āĻžāĻĄ ("/āĻ¨āĻžāĻŽ/āĻ‡āĻŽāĻŋāĻŸāĻžāĻ°", āĻ‡āĻŽāĻŋāĻŸāĻžāĻ°);
...

Ptr probe1 = CreateObject ();

// āĻĒā§āĻ°ā§‹āĻŦāĻŸāĻŋāĻ•ā§‡ āĻ‡āĻŽāĻŋāĻŸāĻžāĻ°ā§‡āĻ° āĻ•āĻžāĻ‰āĻ¨ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§āĻ¨
bool connected = probe1->ConnectByObject ("āĻ•āĻžāĻ‰āĻ¨ā§āĻŸāĻžāĻ°", emitter);

āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•ā§‹āĻĄ āĻāĻ•āĻ‡ āĻŦāĻŋāĻ•āĻŋāĻ°āĻŖāĻ•āĻžāĻ°ā§€ āĻŦāĻ¸ā§āĻ¤ā§ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋ āĻ•āĻ°āĻž āĻāĻ•āĻ‡ āĻ•āĻžāĻ‰āĻ¨ā§āĻŸāĻžāĻ° āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻ•āĻ°āĻ›ā§‡āĨ¤ āĻāĻ‡
DoubleProbe, āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¨ā§‡āĻŽāĻ¸ā§āĻĒā§‡āĻ¸ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒāĻžāĻĨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ›ā§‡
āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ āĻ¯ā§‡ āĻ¨āĻŋāĻ°ā§āĻ—āĻŽāĻ¨āĻ•āĻžāĻ°ā§€ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§‡ āĻ¨āĻŋāĻœā§‡āĻ•ā§‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŋāĻ¤ āĻ•āĻ°ā§‡āĻ›ā§‡
āĻāĻŸāĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛; āĻ…āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ, ConnectByPath āĻ•āĻžāĻœ āĻ•āĻ°āĻŦā§‡ āĻ¨āĻžāĨ¤

Ptr probe2 = CreateObject ();

// āĻ¨ā§‹āĻŸ āĻ•āĻ°ā§āĻ¨, āĻāĻ–āĻžāĻ¨ā§‡ āĻ•ā§‹āĻ¨ā§‹ āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻŽāĻžāĻ¨ āĻšā§‡āĻ• āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻž
probe2->ConnectByPath ("/Names/Emitter/Counter");

āĻ¨āĻŋāĻšā§‡ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ DoubleProbe-āĻ āĻāĻ° āĻĒāĻžāĻĨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ° āĻŽāĻžāĻ¨ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻŦā§‡
āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨āĨ¤ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–ā§āĻ¯, āĻāĻŦāĻžāĻ° DoubleProbe āĻ¤ā§‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¨ā§‡āĻŽāĻ¸ā§āĻĒā§‡āĻ¸ āĻ¤ā§ˆāĻ°āĻŋ āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻĒāĻ°āĨ¤

Ptr probe3 = CreateObject ();
probe3->SetName ("Statically AccessedProbe");

// āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻŸāĻŋ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡
āĻ¨āĻžāĻŽ::āĻ…ā§āĻ¯āĻžāĻĄ ("/āĻ¨āĻžāĻŽ/āĻĒā§āĻ°ā§‹āĻŦ", āĻĒā§āĻ°ā§‹āĻŦ3->āĻ—ā§‡āĻŸāĻ¨āĻžāĻŽ (), āĻĒā§āĻ°ā§‹āĻŦ3);

āĻāĻŽāĻŋāĻŸāĻžāĻ°ā§‡āĻ° Count() āĻĢāĻžāĻ‚āĻļāĻ¨āĻŸāĻŋ āĻāĻ–āĻ¨ āĻāĻ‡ DoubleProbe-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻŽāĻžāĻ¨ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ
āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ:

āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°
āĻŦāĻŋāĻ•āĻŋāĻ°āĻŖāĻ•āĻžāĻ°ā§€::āĻ—āĻŖāĻ¨āĻž (āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°)
{
...
m_counter += 1.0;
DoubleProbe::SetValueByPath ("/Names/StaticallyAccessedProbe", m_counter);
...
}

āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻŸāĻŋ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ āĻ¯ā§‡ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻĒā§āĻ°ā§‹āĻŦāĻ•ā§‡ āĻ•āĻ˛ āĻ•āĻ°āĻž āĻ•ā§‹āĻĄāĻŸāĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¨āĻž
āĻĒā§āĻ°ā§‹āĻŦā§‡āĻ° āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻŽāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖā§‡āĻ° āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻĻāĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤
āĻāĻ‡ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻ…āĻ¨ā§āĻ°ā§‚āĻĒ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻžāĻ¸::āĻĒā§āĻŸ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ ns2measure āĻ•āĻžāĻ—āĻœ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻŦāĻ°ā§āĻ¤āĻŋāĻ¤
[Cic06], āĻāĻŦāĻ‚ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻ¸āĻžāĻŽāĻ¯āĻŧāĻŋāĻ•āĻ­āĻžāĻŦā§‡ Probe āĻ¸ā§āĻŸā§‡āĻŸāĻŽā§‡āĻ¨ā§āĻŸ āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§‡āĻļ āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧ printf, āĻŦāĻŋāĻŦā§ƒāĻ¤āĻŋ
āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻŽāĻ§ā§āĻ¯ā§‡ ns-3 āĻŽāĻĄā§‡āĻ˛ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–ā§āĻ¯ āĻ¯ā§‡ āĻāĻŸāĻŋāĻ¤ā§‡ DoubleProbe āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯
āĻāĻ‡ āĻŽāĻ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ, 2 āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ›āĻŋāĻ˛:

1. āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻšā§‡āĻĄāĻžāĻ° āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ .cc āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ›āĻŋāĻ˛

2. āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻŸāĻŋ āĻ¤āĻžāĻ° wscript āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻļā§€āĻ˛ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤

āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ¸ā§āĻĨāĻžāĻ¨ā§‡ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĒā§āĻ°ā§‹āĻŦ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻžāĻĻā§ƒāĻļā§āĻ¯āĻĒā§‚āĻ°ā§āĻŖ āĻœāĻŋāĻ¨āĻŋāĻ¸āĻ—ā§āĻ˛āĻŋ āĻ•āĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ ns-3
āĻ•ā§‹āĻĄ āĻŦā§‡āĻ¸āĨ¤

DoubleProbe āĻāĻ° āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ DoubleProbe::SetValue(), āĻĢāĻžāĻ‚āĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĻ“ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤
āĻ¯āĻ–āĻ¨ DoubleProbe-āĻāĻ° āĻŽāĻžāĻ¨ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ…āĻ°ā§āĻœāĻŋāĻ¤ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
DoubleProbe::GetValue()āĨ¤

DoubleProbe āĻ¤āĻžāĻ° "āĻ†āĻ‰āĻŸāĻĒā§āĻŸ" āĻŸā§āĻ°ā§‡āĻ¸ āĻ‰ā§ŽāĻ¸ā§‡ āĻĻā§āĻŦāĻŋāĻ—ā§āĻŖ āĻŽāĻžāĻ¨ āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋ āĻ•āĻ°ā§‡; āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ§āĻžāĻ°āĻžāĻ° āĻŦāĻ¸ā§āĻ¤ā§
āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸āĻŋāĻ™ā§āĻ• (NotifyViaProbe) āĻšā§āĻ• āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨:

connected = probe1->TraceConnect ("āĻ†āĻ‰āĻŸāĻĒā§āĻŸ", probe1->GetName (), MakeCallback (&NotifyViaProbe));

āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĒā§āĻ°ā§‹āĻŦ
DoubleProbe āĻ›āĻžāĻĄāĻŧāĻžāĻ“, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĒā§āĻ°ā§‹āĻŦāĻ—ā§āĻ˛āĻŋāĻ“ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§:

Uinteger8Probe āĻāĻ•āĻŸāĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡ ns-3 āĻŸā§āĻ°ā§‡āĻ¸ āĻ‰ā§ŽāĻ¸ āĻāĻ•āĻŸāĻŋ uint8_t āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋ āĻ•āĻ°āĻ›ā§‡āĨ¤

Uinteger16Probe āĻāĻ•āĻŸāĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡ ns-3 āĻŸā§āĻ°ā§‡āĻ¸ āĻ‰ā§ŽāĻ¸ āĻāĻ•āĻŸāĻŋ uint16_t āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋ āĻ•āĻ°āĻ›ā§‡āĨ¤

Uinteger32Probe āĻāĻ•āĻŸāĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡ ns-3 āĻŸā§āĻ°ā§‡āĻ¸ āĻ‰ā§ŽāĻ¸ āĻāĻ•āĻŸāĻŋ uint32_t āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋ āĻ•āĻ°āĻ›ā§‡āĨ¤

āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸāĻĒā§āĻ°ā§‹āĻŦ āĻāĻ•āĻŸāĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡ ns-3 āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋ āĻ•āĻ°āĻ›ā§‡āĨ¤

¡ ApplicationPacketProbe āĻāĻ•āĻŸāĻŋ āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡ ns-3 āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ•ā§‡āĻŸ āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋ āĻ•āĻ°āĻ›ā§‡
āĻ āĻŋāĻ•āĻžāĻ¨āĻžāĨ¤

¡ Ipv4PacketProbe āĻāĻ•āĻŸāĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡ ns-3 āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ, āĻāĻ•āĻŸāĻŋ IPv4 āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻāĻŦāĻ‚ āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋ āĻ•āĻ°ā§‡
āĻāĻ•āĻŸāĻŋ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸āĨ¤

āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ āĻ¨āĻ¤ā§āĻ¨ āĻĒā§āĻ°ā§‹āĻŦ āĻ§āĻ°āĻ¨ā§‡āĻ°
āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĒā§āĻ°ā§‹āĻŦ āĻĒā§āĻ°āĻ•āĻžāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĒāĻĻāĻ•ā§āĻˇā§‡āĻĒāĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡:

āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻĒā§āĻ°ā§‹āĻŦ āĻ•ā§āĻ˛āĻžāĻ¸āĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻŦ āĻŦā§‡āĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸ āĻĨā§‡āĻ•ā§‡ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

¡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻĒā§āĻ°ā§‹āĻŦ āĻ•ā§āĻ˛āĻžāĻ¸ āĻĨā§‡āĻ•ā§‡ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻŦāĻŋāĻļā§āĻĻā§āĻ§ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻĢāĻžāĻ‚āĻļāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°ā§āĻ¨
āĻĒā§āĻ°ā§‹āĻŦ āĻŦā§‡āĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤

āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻĒā§āĻ°ā§‹āĻŦ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ–ā§āĻāĻœā§āĻ¨ āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻŸā§āĻ°ā§‡āĻ¸ āĻ‰ā§ŽāĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¯āĻž āĻŸāĻžāĻ‡āĻĒā§‡āĻ° āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ•āĻžāĻ›āĻžāĻ•āĻžāĻ›āĻŋ
āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°ā§‹āĻŦ āĻ¯ā§‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦā§‡āĨ¤

āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻĒā§āĻ°ā§‹āĻŦ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻšā§‡āĻĄāĻžāĻ° āĻĢāĻžāĻ‡āĻ˛ (.h) āĻāĻŦāĻ‚ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻĢāĻžāĻ‡āĻ˛ (.cc) āĻĻā§āĻŸāĻŋāĻ¤ā§‡ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ•āĻ°ā§āĻ¨
āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻĒā§āĻ°ā§‹āĻŦā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŽāĻŋāĻ˛ā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž āĻ¨āĻžāĻŽā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¨āĻ¤ā§āĻ¨ āĻĢāĻžāĻ‡āĻ˛āĨ¤

¡ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ•āĻ°āĻž āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻĒā§āĻ°āĻ•āĻžāĻ°, āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻāĻŦāĻ‚ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°ā§āĻ¨
āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°ā§‹āĻŦā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŸāĻžāĻ‡āĻĒ āĻ•āĻ°ā§āĻ¨āĨ¤

¡ āĻ•ā§‹āĻĄ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻāĻŦāĻ‚ āĻāĻŸāĻŋāĻ•ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻŽāĻ¤ āĻ†āĻšāĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§āĻ¨
āĻŽāĻ¤āĨ¤

āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ
āĻĻā§āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻ–āĻžāĻ¨ā§‡ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻŦā§‡:

¡ āĻĄāĻžāĻŦāĻ˛ āĻĒā§āĻ°ā§‹āĻŦā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ

¡ IPv4 āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻĒā§āĻ˛āĻŸ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ

āĻĄāĻŦāĻ˛ āĻĒā§āĻ°ā§‹āĻŦ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ
āĻĄāĻŦāĻ˛ āĻĒā§āĻ°ā§‹āĻŦā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ†āĻ—ā§‡ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§‡
in src/stats/examples/double-probe-example.cc. āĻāĻ‡ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡ āĻ¯āĻž āĻ˜āĻŸā§‡ āĻ¤āĻž āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡,
āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ•āĻŋāĻ°āĻŖāĻ•āĻžāĻ°ā§€ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻ•āĻžāĻ‰āĻ¨ā§āĻŸāĻžāĻ° āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋ āĻ•āĻ°ā§‡ āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻĒāĻ¯āĻŧāĻ¸āĻ¨ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ…āĻ¨ā§āĻ¸āĻžāĻ°ā§‡ āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻĒāĻžāĻ¯āĻŧāĨ¤
āĻŦāĻŋāĻļā§‡āĻˇ āĻ•āĻ°ā§‡, āĻĄā§‡āĻŸāĻž āĻ¨āĻŋāĻ°ā§āĻ—āĻ¤ āĻ•āĻ°āĻžāĻ° āĻĻā§āĻŸāĻŋ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡:

1. āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻŦā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻāĻ•āĻŸāĻŋ āĻŸā§āĻ°ā§‡āĻ¸āĻĄ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡:

āĻŸā§āĻ°ā§‡āĻ¸āĻĄ āĻ­ā§āĻ¯āĻžāĻ˛ā§ m_āĻ•āĻžāĻ‰āĻ¨ā§āĻŸāĻžāĻ°; // āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻ‡ āĻĒā§‚āĻ°ā§āĻŖāĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻŸāĻžāĻ‡āĻĒ āĻšāĻŦā§‡

2. āĻāĻ•āĻŸāĻŋ āĻ•āĻžāĻ‰āĻ¨ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¯āĻžāĻ° āĻŽāĻžāĻ¨ āĻāĻ•āĻŸāĻŋ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻĒā§āĻ°ā§‹āĻŦā§‡ āĻĒā§‹āĻ¸ā§āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻāĻ° āĻ¨āĻžāĻŽ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ:

āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°
āĻŦāĻŋāĻ•āĻŋāĻ°āĻŖāĻ•āĻžāĻ°ā§€::āĻ—āĻŖāĻ¨āĻž (āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°)
{
NS_LOG_FUNCTION (āĻāĻŸāĻŋ);
NS_LOG_DEBUG ("āĻāĻ¤ā§‡ āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ " << āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°::āĻāĻ–āĻ¨ ().āĻ—ā§‡āĻŸ āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ ());
m_counter += 1.0;
DoubleProbe::SetValueByPath ("/Names/StaticallyAccessedProbe", m_counter);
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°::āĻļāĻŋāĻĄāĻŋāĻ‰āĻ˛ (āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ (m_var->GetValue ()), &Emitter::count, this);
}

āĻ†āĻ¸ā§āĻ¨ āĻ†āĻ°āĻ“ āĻŽāĻ¨ā§‹āĻ¯ā§‹āĻ— āĻ¸āĻšāĻ•āĻžāĻ°ā§‡ āĻĒā§āĻ°ā§‹āĻŦāĻŸāĻŋ āĻĻā§‡āĻ–āĻŋāĨ¤ āĻĒā§āĻ°ā§‹āĻŦāĻ—ā§āĻ˛āĻŋ āĻ¤āĻžāĻĻā§‡āĻ° āĻŽāĻžāĻ¨ āĻāĻ•āĻžāĻ§āĻŋāĻ•āĻ¤ā§‡ āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ‰āĻĒāĻžāĻ¯āĻŧ:

1. āĻĒā§āĻ°ā§‹āĻŦā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻāĻŸāĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻŸāĻŋ āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸āĻŋāĻ™ā§āĻ• āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž

2. āĻĒā§āĻ°ā§‹āĻŦā§‡āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ¨ā§‡āĻŽāĻ¸ā§āĻĒā§‡āĻ¸ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻž āĻāĻŦāĻ‚ a āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž
āĻāĻŸāĻž āĻŸā§āĻ°ā§‡āĻ¸ āĻĄā§āĻŦāĻž

3. āĻ•āĻ˛āĻŋāĻ‚ āĻ•ā§‹āĻĄ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ­āĻžāĻŦā§‡ āĻĒā§āĻ°ā§‹āĻŦā§‡āĻ° āĻ•āĻ˛āĻŋāĻ‚ āĻ¸ā§‡āĻŸ āĻ­ā§āĻ¯āĻžāĻ˛ā§() āĻĒāĻĻā§āĻ§āĻ¤āĻŋ

4. āĻ•āĻ˛āĻŋāĻ‚ āĻ•ā§‹āĻĄ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ­āĻžāĻŦā§‡ āĻ•āĻ˛ āĻ•āĻ°āĻž SetValueByPath
("/āĻĒāĻžāĻĨ/āĻĨā§āĻ°ā§/āĻ•āĻ¨āĻĢāĻŋāĻ—/āĻ¨ā§‡āĻŽāĻ¸ā§āĻĒā§‡āĻ¸", ...)

āĻĒā§āĻ°āĻĨāĻŽ āĻĻā§āĻŸāĻŋ āĻ•ā§ŒāĻļāĻ˛ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŦāĻ˛ā§‡ āĻ†āĻļāĻž āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡āĨ¤ āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡,
āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻšā§āĻ•āĻŋāĻ‚ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧ, āĻ¯ā§‡āĻŽāĻ¨āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ ns-3. āĻāĻ‡
āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻĢāĻžāĻ‚āĻļāĻ¨ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻŦ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻ¨āĻ¯āĻŧāĨ¤ āĻ†āĻŽāĻ°āĻž āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ 0) āĻ¨ā§€āĻšā§‡ āĻ•āĻ˛ āĻ•āĻ°āĻŦāĨ¤

// āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¯āĻž āĻŸā§āĻ°ā§‡āĻ¸ āĻ‰āĻ¤ā§āĻ¸ā§‡ āĻāĻ•āĻŸāĻŋ āĻ•āĻžāĻāĻšāĻž āĻĢāĻžāĻ‚āĻļāĻ¨ āĻšā§āĻ• āĻ•āĻ°āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯
āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°
NotifyViaTraceSource (std::string context, double oldVal, double newVal)
{
NS_LOG_DEBUG ("āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ—: " << āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ— << " āĻĒā§āĻ°āĻžāĻ¨ā§‹ " << āĻĒā§āĻ°āĻžāĻ¨ā§‹ āĻ­ā§āĻ¯āĻžāĻ˛ << " āĻ¨āĻ¤ā§āĻ¨ " << āĻ¨āĻ¤ā§āĻ¨ āĻ­ā§āĻ¯āĻžāĻ˛);
}

āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻ‡āĻŽāĻŋāĻŸāĻžāĻ° āĻ¸ā§‡āĻŸāĻ†āĻĒ āĻ•āĻ°āĻž āĻĻāĻ°āĻ•āĻžāĻ°:

Ptr emitter = CreateObject ();
āĻ¨āĻžāĻŽ::āĻ…ā§āĻ¯āĻžāĻĄ ("/āĻ¨āĻžāĻŽ/āĻ‡āĻŽāĻŋāĻŸāĻžāĻ°", āĻ‡āĻŽāĻŋāĻŸāĻžāĻ°);

// Emitter āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻāĻ•āĻŸāĻŋ ns-3 āĻ¨ā§‹āĻĄā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻ¨āĻ¯āĻŧ, āĻ¤āĻžāĻ‡
// āĻāĻŸāĻŋ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻļā§āĻ°ā§ āĻšāĻŦā§‡ āĻ¨āĻž, āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¨āĻŋāĻœā§‡āĻ°āĻžāĻ‡ āĻāĻŸāĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°::āĻļāĻŋāĻĄāĻŋāĻ‰āĻ˛ (āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ (0.0), &āĻ‡āĻŽāĻŋāĻŸāĻžāĻ°::āĻ¸ā§āĻŸāĻžāĻ°ā§āĻŸ, āĻ‡āĻŽāĻŋāĻŸāĻžāĻ°);

āĻ¨āĻŋāĻšā§‡ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ DoubleProbes āĻ‡āĻŽāĻŋāĻŸāĻžāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ…ā§āĻ¯āĻžāĻ•ā§āĻŸ āĻ•āĻ°ā§‡āĨ¤

āĻ•ā§‡āĻ¸ 0):

// āĻ¨ā§€āĻšā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻŦ āĻ›āĻžāĻĄāĻŧāĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ
// (āĻāĻ•āĻŸāĻŋ āĻŸā§āĻ°ā§‡āĻ¸ āĻ‰ā§ŽāĻ¸ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŋāĻ™ā§āĻ• āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨)
//
connected = emitter->TraceConnect ("āĻ•āĻžāĻ‰āĻ¨ā§āĻŸāĻžāĻ°", "āĻ¨āĻŽā§āĻ¨āĻž āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ—", MakeCallback (&NotifyViaTraceSource));
NS_ASSERT_MSG (āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤, "āĻŸā§āĻ°ā§‡āĻ¸ āĻ‰āĻ¤ā§āĻ¸ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ¨āĻ¯āĻŧ");

āĻŽāĻžāĻŽāĻ˛āĻž 1):

//
// Probe1 āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ‡āĻŽāĻŋāĻŸāĻžāĻ° āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡ āĻšā§āĻ• āĻ•āĻ°āĻž āĻšāĻŦā§‡
//

// probe1 āĻāĻŽāĻŋāĻŸāĻžāĻ° āĻŸā§āĻ°ā§‡āĻ¸ āĻ‰ā§ŽāĻ¸ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻŦā§‡
Ptr probe1 = CreateObject ();
// āĻĒā§āĻ°ā§‹āĻŦā§‡āĻ° āĻ¨āĻžāĻŽ āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻāĻ° āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ— āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
probe1->SetName ("ObjectProbe");

// āĻĒā§āĻ°ā§‹āĻŦāĻŸāĻŋāĻ•ā§‡ āĻ‡āĻŽāĻŋāĻŸāĻžāĻ°ā§‡āĻ° āĻ•āĻžāĻ‰āĻ¨ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§āĻ¨
connected = probe1->ConnectByObject ("āĻ•āĻžāĻ‰āĻ¨ā§āĻŸāĻžāĻ°", emitter);
NS_ASSERT_MSG (āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤, "āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻĒā§āĻ°ā§‹āĻŦā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ¨āĻ¯āĻŧ");

āĻŽāĻžāĻŽāĻ˛āĻž 2):

//
// Probe2 āĻĻā§āĻŦāĻžāĻ°āĻž āĻ‡āĻŽāĻŋāĻŸāĻžāĻ° āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻšā§āĻ• āĻ•āĻ°āĻž āĻšāĻŦā§‡
// āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻĒāĻžāĻĨ āĻ¨āĻžāĻŽā§‡āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻž
//

// āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻ…āĻ¨ā§āĻ°ā§‚āĻĒ āĻĒā§āĻ°ā§‹āĻŦ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨; āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻĒāĻžāĻĨā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻšā§āĻ• āĻ†āĻĒ āĻšāĻŦā§‡
Ptr probe2 = CreateObject ();
probe2->SetName ("PathProbe");

// āĻ¨ā§‹āĻŸ āĻ•āĻ°ā§āĻ¨, āĻāĻ–āĻžāĻ¨ā§‡ āĻ•ā§‹āĻ¨ā§‹ āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻŽāĻžāĻ¨ āĻšā§‡āĻ• āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻž
probe2->ConnectByPath ("/Names/Emitter/Counter");

āĻ•ā§‡āĻ¸ 4) (āĻ•ā§‡āĻ¸ 3 āĻāĻ‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧāĻ¨āĻŋ):

//
// Probe3 āĻāĻŽāĻŋāĻŸāĻžāĻ°ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ•āĻ˛ āĻ•āĻ°āĻž āĻšāĻŦā§‡
// āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻĒāĻĻā§āĻ§āĻ¤āĻŋ SetValueByPath()āĨ¤
//
Ptr probe3 = CreateObject ();
probe3->SetName ("Statically AccessedProbe");
// āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻŸāĻŋ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡
āĻ¨āĻžāĻŽ::āĻ…ā§āĻ¯āĻžāĻĄ ("/āĻ¨āĻžāĻŽ/āĻĒā§āĻ°ā§‹āĻŦ", āĻĒā§āĻ°ā§‹āĻŦ3->āĻ—ā§‡āĻŸāĻ¨āĻžāĻŽ (), āĻĒā§āĻ°ā§‹āĻŦ3);

āĻāĻŦāĻ‚ āĻ…āĻŦāĻļā§‡āĻˇā§‡, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻŸāĻŋ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻĒā§āĻ°ā§‹āĻŦāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšā§āĻ• āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡:

// āĻĒā§āĻ°ā§‹āĻŦā§‡āĻ° āĻ¨āĻŋāĻœā§‡āĻ‡ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤ āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ— āĻ¯ā§‡ āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨
// āĻāĻ‡ āĻĒā§āĻ°ā§‹āĻŦā§‡āĻ° āĻœāĻ¨ā§āĻ¯ (āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻĒā§āĻ°ā§‹āĻŦā§‡āĻ° āĻ¨āĻžāĻŽ) āĻĻā§āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻž āĻ¨āĻŋāĻ°āĻ¸āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°āĻŦā§‡
// āĻŸā§āĻ°ā§‡āĻ¸ā§‡āĻ° āĻ‰ā§ŽāĻ¸
connected = probe3->TraceConnect ("āĻ†āĻ‰āĻŸāĻĒā§āĻŸ",
"/Names/Probes/Statically AccessedProbe/Output",
āĻŽā§‡āĻ•āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• (&NotifyViaProbe));
NS_ASSERT_MSG (āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤, "āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ¨āĻ¯āĻŧ .. probe3 āĻ†āĻ‰āĻŸāĻĒā§āĻŸā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤");

āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ•āĻŸāĻŋ āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻžāĻŽā§‚āĻ˛āĻ• āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ā§‡ āĻāĻ‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡ āĻĒā§āĻ°ā§‹āĻŦā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡;
āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤, āĻĒā§āĻ°ā§‹āĻŦ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ—ā§āĻ°āĻžāĻšāĻ• āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤

// āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¯āĻž āĻĒā§āĻ°ā§‹āĻŦā§‡āĻ° āĻ†āĻ‰āĻŸāĻĒā§āĻŸā§‡ āĻšā§āĻ• āĻ•āĻ°ā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯
āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°
NotifyViaProbe (std::āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ—, āĻĄāĻŦāĻ˛ OldVal, āĻĄāĻŦāĻ˛ newVal)
{
NS_LOG_DEBUG ("āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ—: " << āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ— << " āĻĒā§āĻ°āĻžāĻ¨ā§‹ " << āĻĒā§āĻ°āĻžāĻ¨ā§‹ āĻ­ā§āĻ¯āĻžāĻ˛ << " āĻ¨āĻ¤ā§āĻ¨ " << āĻ¨āĻ¤ā§āĻ¨ āĻ­ā§āĻ¯āĻžāĻ˛);
}

IPv4 āĻŽā§‹āĻĄāĻŧāĻ• āĻšāĻ•ā§āĻ°āĻžāĻ¨ā§āĻ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ
IPv4 āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻĒā§āĻ˛āĻŸ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĨā§‡āĻ•ā§‡ āĻĒāĻžā§āĻšāĻŽ.cc āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ ns-3 āĻŸāĻŋāĻ‰āĻŸā§‹āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛āĨ¤ āĻāĻŸāĻž
āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§‡ src/stats/examples/ipv4-packet-plot-example.cc.

āĻ¨ā§‹āĻĄ 0 āĻ¨ā§‹āĻĄ 1
+----------------+ +----------------+
| ns-3 TCP | | ns-3 TCP |
+----------------+ +----------------+
| 10.1.1.1 | | 10.1.1.2 |
+----------------+ +----------------+
| āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻŸā§ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ | | āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻŸā§ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ |
+----------------+ +----------------+
| |
+------------

āĻ†āĻŽāĻ°āĻž āĻ•ā§‡āĻŦāĻ˛ āĻĒā§āĻ°ā§‹āĻŦā§‡āĻ° āĻĻāĻŋāĻ•ā§‡ āĻ¤āĻžāĻ•āĻžāĻŦ, āĻ•āĻžāĻ°āĻŖ āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻž āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻĒā§āĻ°ā§‹āĻŦāĻ—ā§āĻ˛āĻŋ āĻĨā§‡āĻ•ā§‡ āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ“ āĻ†āĻ¨āĻĒā§āĻ¯āĻžāĻ• āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ•āĻžāĻ āĻžāĻŽā§‹ (āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ) āĻāĻŦāĻ‚ āĻ¸ā§‡āĻ‡ āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ°āĻŋāĻĒā§‹āĻ°ā§āĻŸ āĻ•āĻ°ā§āĻ¨
āĻļā§āĻ§ā§ āĻāĻ•āĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĄā§‡āĻŸāĻžāĻ° āĻŽāĻ§ā§āĻ¯ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻšā§‡āĻ¯āĻŧā§‡āĨ¤

āĻāĻ‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĻāĻŋāĻ• āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻĒāĻ°ā§‡ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ā§‡ āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻž āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤
āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¯ā§‡ āĻĻā§āĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĄā§‡āĻŸāĻž āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻ¨āĻŋāĻœā§‡āĻ‡ (āĻ†āĻ‰āĻŸāĻĒā§āĻŸ) āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ—āĻŖāĻ¨āĻž
āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸā§‡ āĻŦāĻžāĻ‡āĻŸā§‡āĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž (āĻ†āĻ‰āĻŸāĻĒā§āĻŸāĻŦāĻžāĻ‡āĻŸ).

āĻŸāĻžāĻ‡āĻĒāĻ†āĻ‡āĻĄāĻŋ
Ipv4PacketProbe::GetTypeId ()
{
āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• TypeId tid = TypeId ("ns3::Ipv4PacketProbe")
.SetParent ()
.AddConstructor ()
.AddTraceSource ( "āĻ†āĻ‰āĻŸāĻĒā§āĻŸ",
"āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻāĻŦāĻ‚ āĻāĻ° IPv4 āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻāĻŦāĻ‚ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻ¯āĻž āĻāĻ‡ āĻĒā§āĻ°ā§‹āĻŦā§‡āĻ° āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡",
MakeTraceSourceAccessor (&Ipv4PacketProbe::m_output))
.TraceSource āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ ( "āĻ†āĻ‰āĻŸāĻĒā§āĻŸāĻŦāĻžāĻ‡āĻŸāĻ¸",
"āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸā§‡ āĻŦāĻžāĻ‡āĻŸā§‡āĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž",
MakeTraceSourceAccessor (&Ipv4PacketProbe::m_outputBytes))
;
āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ tid;
}

āĻ¯āĻ–āĻ¨ āĻĒā§āĻ°ā§‹āĻŦā§‡āĻ° āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸āĻŋāĻ™ā§āĻ• āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻĒāĻžāĻ¯āĻŧ, āĻ¯āĻĻāĻŋ āĻĒā§āĻ°ā§‹āĻŦ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻĨāĻžāĻ•ā§‡, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻāĻŸāĻŋ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ•āĻ°āĻŦā§‡
āĻ¤āĻžāĻ° āĻ‰āĻĒāĻ° āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸ā§‹āĻ°ā§āĻ¸, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŸāĻŋ āĻŦāĻžāĻ‡āĻŸā§‡āĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ“ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ•āĻ°āĻŦā§‡
āĻ†āĻ‰āĻŸāĻĒā§āĻŸāĻŦāĻžāĻ‡āĻŸ āĻ‰ā§ŽāĻ¸ āĻŸā§āĻ°ā§‡āĻ¸.

āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°
Ipv4PacketProbe::TraceSink (Ptr āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ, Ptr ipv4, uint4_t āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸)
{
NS_LOG_FUNCTION (āĻāĻ‡ << āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ << ipv4 << āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸);
āĻ¯āĻĻāĻŋ (āĻ¸āĻ•ā§āĻˇāĻŽ ())
{
m_packet = āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ;
m_ipv4 = ipv4;
m_interface = āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸;
m_output (āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ, ipv4, āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸);

uint32_t packetSizeNew = āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ->GetSize ();
m_outputBytes (m_packetSizeOld, packetSizeNew);
m_packetSizeOld = packetSizeNew;
}
}

āĻ¤āĻĨā§āĻ¯āĻ¸ā§‚āĻ¤ā§āĻ°
[Cic06]
Claudio Cicconetti, Enzo Mingozzi, Giovanni Stea, "āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽāĻ¨ā§āĻŦāĻŋāĻ¤ āĻ•āĻžāĻ āĻžāĻŽā§‹
āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°ā§€ āĻ¤āĻĨā§āĻ¯ āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻāĻŦāĻ‚ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻž ns2, āĻ•āĻ°ā§āĻŽāĻļāĻžāĻ˛āĻž
ns-2 (WNS2), āĻĒāĻŋāĻ¸āĻž, āĻ‡āĻ¤āĻžāĻ˛āĻŋ, āĻ…āĻ•ā§āĻŸā§‹āĻŦāĻ° 2006āĨ¤

āĻ¸āĻ‚āĻ—ā§āĻ°āĻžāĻšāĻ•
āĻāĻ‡ āĻŦāĻŋāĻ­āĻžāĻ—āĻŸāĻŋ āĻ•āĻžāĻ˛ā§‡āĻ•ā§āĻŸāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻŦāĻŋāĻļāĻĻ āĻŦāĻŋāĻŦāĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻĨāĻžāĻ¨āĻ§āĻžāĻ°āĻ•ā§ˇ
āĻāĻ•āĻŸāĻŋ āĻĨā§‡āĻ•ā§‡ āĻ•ā§āĻ˛āĻžāĻ¸ ns-3 āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨, āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻ•ā§‹āĻĄ āĻ•āĻ°āĻžāĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĻā§‡āĻ¯āĻŧāĨ¤

āĻŦāĻŋāĻƒāĻĻā§āĻ°āĻƒ: ns-3.18 āĻ…āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§€, āĻ¸āĻ‚āĻ—ā§āĻ°āĻžāĻšāĻ• āĻāĻ–āĻ¨āĻ“ āĻŦāĻŋāĻ•āĻžāĻļā§‡āĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻāĻ–āĻ¨āĻ“ āĻ…āĻ‚āĻļ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ
āĻ•āĻžāĻ āĻžāĻŽā§‹āĻ°āĨ¤

āĻ¸āĻ‚āĻ¯ā§‹āĻ—āĻ•āĻžāĻ°ā§€āĻ—āĻŖ
āĻāĻ‡ āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ āĻ…ā§āĻ¯āĻžāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ° āĻļā§āĻ°ā§‡āĻŖā§€ āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻ•āĻŸāĻŋāĻ•ā§‡ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻžāĻ° āĻŦāĻŋāĻŦāĻ°āĻŖ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ ns-3
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻāĻ‡ āĻŦāĻŋāĻ­āĻžāĻ—āĻŸāĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻ†āĻ—ā§āĻ°āĻšā§€ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§‹āĻāĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ā§ˇ
ns-3 āĻŸā§āĻ˛āĻ¸ āĻāĻŦāĻ‚ āĻĄā§‡āĻŸāĻž āĻ•āĻžāĻ˛ā§‡āĻ•āĻļāĻ¨ āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡, āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ…ā§āĻ¯āĻžāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ° āĻ•ā§āĻ˛āĻžāĻ¸ āĻšāĻ˛ a
āĻ…āĻ‚āĻļ, āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ā§‡āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĄā§‡āĻŸāĻž āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡āĨ¤

āĻ¸āĻŽāĻˇā§āĻŸāĻŋāĻŦāĻŋāĻĻ āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻŦāĻŋāĻŦāĻ°āĻŖ
āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ° āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸāĻ•ā§‡ āĻāĻ• āĻŦāĻž āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻŸā§āĻ°ā§‡āĻ¸ āĻ‰āĻ¤ā§āĻ¸ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻšā§āĻ• āĻ•āĻ°āĻžāĻ° āĻ•āĻĨāĻž
āĻ‡āĻ¨āĻĒā§āĻŸ āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ…ā§āĻ¯āĻžāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ° āĻšāĻ˛ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻ‚āĻ—ā§ƒāĻšā§€āĻ¤ āĻĄā§‡āĻŸāĻžāĻ° āĻļā§‡āĻˇ āĻŦāĻŋāĻ¨ā§āĻĻā§
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĒā§āĻ°ā§‹āĻŦ āĻāĻŦāĻ‚ āĻ•āĻžāĻ˛ā§‡āĻ•ā§āĻŸāĻ°āĨ¤ āĻāĻ—ā§āĻ˛ā§‹ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻ…ā§āĻ¯āĻžāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ°ā§‡āĻ° āĻ•āĻžāĻœ
āĻŽāĻžāĻ¨ āĻāĻŦāĻ‚ āĻ¤āĻžāĻĻā§‡āĻ° āĻšā§‚āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ā§‡ āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡āĻŽāĻ¨ āĻĒā§āĻ˛ā§‡āĻ‡āĻ¨ āĻŸā§‡āĻ•ā§āĻ¸āĻŸ āĻĢāĻžāĻ‡āĻ˛,
āĻ¸ā§āĻĒā§āĻ°ā§‡āĻĄāĻļā§€āĻŸ āĻĢāĻžāĻ‡āĻ˛, āĻĒā§āĻ˛āĻŸ, āĻŦāĻž āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸āĨ¤

āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤, āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽāĻˇā§āĻŸāĻŋāĻ•āĻžāĻ°ā§€ āĻāĻ• āĻŦāĻž āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻ¸āĻ‚āĻ—ā§āĻ°āĻžāĻšāĻ•ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ¤ā§‡, āĻ¯āĻ–āĻ¨āĻ‡
āĻ¸āĻ‚āĻ—ā§āĻ°āĻžāĻšāĻ•āĻĻā§‡āĻ° āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻžāĻ¨ āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋ āĻ•āĻ°ā§‡, āĻ…ā§āĻ¯āĻžāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ° āĻŽāĻžāĻ¨āĻŸāĻŋ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻāĻŸāĻŋ āĻšā§‚āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻĄā§‡āĻŸāĻž āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻāĻ° āĻĒāĻ°ā§‡ āĻĨāĻžāĻ•āĻŦā§‡
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨āĨ¤

Aggregators āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ¨ā§‹āĻŸ āĻ•āĻ°ā§āĻ¨:

¡ āĻ•āĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ…ā§āĻ¯āĻžāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ°āĻ—ā§āĻ˛āĻŋ āĻ—āĻ¤āĻŋāĻļā§€āĻ˛āĻ­āĻžāĻŦā§‡ āĻšāĻžāĻ˛ā§ āĻāĻŦāĻ‚ āĻŦāĻ¨ā§āĻ§ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ¸āĻ•ā§āĻˇāĻŽ() āĻāĻŦāĻ‚ āĻ¨āĻŋāĻˇā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ(). āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻĄā§‡āĻŸāĻž āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻŽāĻ†āĻĒ āĻĢā§‡āĻœ, āĻ¯āĻžāĻ° āĻŽāĻžāĻ¨ā§‡ āĻ¸ā§‡āĻ‡ āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻĢāĻžāĻ‡āĻ¨āĻžāĻ˛ā§‡ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻŦā§‡ āĻ¨āĻž
āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻŽāĻžāĻ§ā§āĻ¯āĻŽāĨ¤

¡ āĻ¸āĻŽāĻˇā§āĻŸāĻŋāĻ•āĻžāĻ°ā§€āĻ°āĻž āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ•ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¸āĻ‚āĻ—ā§āĻ°āĻžāĻšāĻ•āĻĻā§‡āĻ° āĻ•āĻžāĻ› āĻĨā§‡āĻ•ā§‡ āĻĄā§‡āĻŸāĻž āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°ā§‡āĨ¤ āĻ¯āĻ–āĻ¨ āĻāĻ•āĻœāĻ¨ āĻ•āĻžāĻ˛ā§‡āĻ•ā§āĻŸāĻ° āĻ¯ā§āĻ•ā§āĻ¤ āĻĨāĻžāĻ•ā§‡
āĻāĻ•āĻŸāĻŋ āĻāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ°āĻ•ā§‡, Aggregator āĻāĻ° āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻ¤ā§‡ TraceConnect-āĻ āĻāĻ•āĻŸāĻŋ āĻ•āĻ˛ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¸āĻŋāĻ™ā§āĻ• āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĨ¤

āĻ†āĻœ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤, āĻĻā§āĻŸāĻŋ āĻ¸āĻŽāĻˇā§āĻŸāĻŋāĻ•āĻžāĻ°ā§€ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡:

¡ GnuplotAggregator

¡ āĻĢāĻžāĻ‡āĻ˛ āĻ…ā§āĻ¯āĻžāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ°

GnuplotAggregator
GnuplotAggregator gnuplots āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĨ¤

GnuplotAggregator āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ā§‡āĻ° āĻļā§‡āĻˇā§‡ 3āĻŸāĻŋ āĻ­āĻŋāĻ¨ā§āĻ¨ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦā§‡:

āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻĒā§‡āĻ¸ āĻŦāĻŋāĻ­āĻ•ā§āĻ¤ gnuplot āĻĄā§‡āĻŸāĻž āĻĢāĻžāĻ‡āĻ˛

āĻāĻ•āĻŸāĻŋ gnuplot āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛ āĻĢāĻžāĻ‡āĻ˛

gnuplot āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻļā§‡āĻ˛ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ

āĻ¸ā§ƒāĻˇā§āĻŸāĻŋ
āĻ•ā§€ āĻ•āĻ°āĻž āĻĻāĻ°āĻ•āĻžāĻ° āĻ¤āĻž āĻĻā§‡āĻ–āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ–āĻžāĻ¨ā§‡ GnuplotAggregator āĻ§āĻ°āĻ¨ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤

āĻāĻ•āĻœāĻ¨ āĻ¸ā§āĻŽāĻžāĻ°ā§āĻŸ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻ•ā§āĻ˛āĻžāĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ—āĻ¤āĻŋāĻļā§€āĻ˛ āĻŽā§‡āĻŽāĻ°āĻŋāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ GnuplotAggregator āĻ˜ā§‹āĻˇāĻŖāĻž āĻ•āĻ°ā§‡
(Ptr ) āĻ¸ā§āĻŽāĻžāĻ°ā§āĻŸ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻ¸āĻš āĻĄāĻžāĻ¯āĻŧāĻ¨āĻžāĻŽāĻŋāĻ• āĻŽā§‡āĻŽāĻ°āĻŋāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ GnuplotAggregator āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡, āĻāĻ•āĻŸāĻŋ āĻŽāĻžāĻ¤ā§āĻ°
āĻ•āĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ ns-3 āĻĒāĻĻā§āĻ§āĻ¤āĻŋ CreateObject(). āĻĨā§‡āĻ•ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•ā§‹āĻĄ
src/stats/examples/gnuplot-aggregator-example.cc āĻāĻŸāĻŋ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧ āĻ¤āĻž āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ:

string fileNameWithoutExtension = "gnuplot-āĻāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ°";

// āĻāĻ•āĻŸāĻŋ āĻāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨āĨ¤
Ptr aggregator =
āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ (fileNameWithoutExtension);

āĻ•āĻ¨āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•ā§āĻŸāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻĨāĻŽ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ, fileNameWithoutExtension, āĻāĻ° āĻ¨āĻžāĻŽ
gnuplot āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻĢāĻžāĻ‡āĻ˛ āĻ•ā§‹āĻ¨ āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ āĻ›āĻžāĻĄāĻŧāĻž āĻ˛āĻŋāĻ–āĻ¤ā§‡. āĻāĻ‡ GnuplotAggregator āĻāĻ•āĻŸāĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦā§‡
"gnuplot-aggregator.dat" āĻ¨āĻžāĻŽā§‡ āĻ¸ā§āĻĒā§‡āĻ¸ āĻŦāĻŋāĻ­āĻ•ā§āĻ¤ gnuplot āĻĄā§‡āĻŸāĻž āĻĢāĻžāĻ‡āĻ˛, āĻāĻ•āĻŸāĻŋ gnuplot āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛ āĻĢāĻžāĻ‡āĻ˛
"gnuplot-aggregator.plt" āĻ¨āĻžāĻŽā§‡, āĻāĻŦāĻ‚ + āĻ¨āĻžāĻŽā§‡āĻ° gnuplot āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻļā§‡āĻ˛ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ
"gnuplot-aggregator.sh"āĨ¤

āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž gnuplot āĻāĻ° āĻ•ā§€ 4āĻŸāĻŋ āĻ­āĻŋāĻ¨ā§āĻ¨ āĻ¸ā§āĻĨāĻžāĻ¨ā§‡ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡:

¡ āĻšāĻžāĻŦāĻŋ āĻ¨ā§‡āĻ‡

¡ āĻĒā§āĻ˛āĻŸā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ•ā§€ (āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ)

¡ āĻĒā§āĻ˛āĻŸā§‡āĻ° āĻ‰āĻĒāĻ°ā§‡ āĻ•ā§€

¡ āĻĒā§āĻ˛āĻŸā§‡āĻ° āĻ¨ā§€āĻšā§‡ āĻ•ā§€

āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ gnuplot āĻ•ā§€ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ enum āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ•ā§€āĻŸāĻŋāĻ° āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻ…āĻ¨ā§āĻŽā§‹āĻĻāĻŋāĻ¤:

enum āĻ•ā§€ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ {
āĻšāĻžāĻŦāĻŋ āĻ¨ā§‡āĻ‡,
KEY_INSIDE,
KEY_ABOVE,
KEY_BELOW
};

āĻ¯āĻĻāĻŋ āĻāĻŸāĻŋ āĻ­āĻŋāĻ¤āĻ°ā§‡āĻ° āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ā§‡āĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻ¨ā§€āĻšā§‡āĻ° āĻšāĻžāĻŦāĻŋāĻŸāĻŋ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻšāĻžāĻ¯āĻŧ āĻ¤āĻŦā§‡
āĻ†āĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨.

aggregator->SetKeyLocation(GnuplotAggregator::KEY_BELOW);

āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ
āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻ–āĻžāĻ¨ā§‡ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻŦā§‡:

āĻ—ā§āĻ¨ā§āĻĒā§āĻ˛āĻŸ āĻ…ā§āĻ¯āĻžāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ

āĻœā§āĻžāĻžāĻ¨āĻĒā§āĻ˛āĻŸ āĻ¸āĻŽāĻˇā§āĻŸāĻŋāĻŦāĻŋāĻĻ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ
GnuplotAggregator āĻ…āĻ¨ā§āĻļā§€āĻ˛āĻ¨ āĻ•āĻ°ā§‡ āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§‡
src/stats/examples/gnuplot-aggregator-example.cc.

āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ 2-D gnuplot āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤
[āĻ›āĻŦāĻŋ] 2-āĻĄāĻŋ āĻ—ā§āĻ¨ā§āĻĒā§āĻ˛āĻŸ gnuplot-aggregator-example.cc āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ..UNINDENT

āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĨā§‡āĻ•ā§‡ āĻāĻ‡ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ GnuplotAggregator āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧ āĻ¯ā§‡āĻŽāĻ¨ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛
āĻ‰āĻĒāĻ°ā§‡āĨ¤

āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° Create2dPlot ()
{
āĻ¨ā§‡āĻŽāĻ¸ā§āĻĒā§‡āĻ¸ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡;

string fileNameWithoutExtension = "gnuplot-āĻāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ°";
string plotTitle = "āĻ—ā§āĻ¨ā§āĻĒā§āĻ˛āĻŸ āĻ…ā§āĻ¯āĻžāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ° āĻĒā§āĻ˛āĻŸ";
string plotXAxisHeading = "āĻ¸āĻŽāĻ¯āĻŧ (āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ)";
string plotYAxisHeading = "āĻĻā§āĻŦā§ˆāĻ¤ āĻŽāĻžāĻ¨";
string plotDatasetLabel = "āĻĄā§‡āĻŸāĻž āĻŽāĻžāĻ¨";
string datasetContext = "āĻĄā§‡āĻŸāĻžāĻ¸ā§‡āĻŸ/āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ—/āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚";

// āĻāĻ•āĻŸāĻŋ āĻāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨āĨ¤
Ptr aggregator =
āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ (fileNameWithoutExtension);

āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ GnuplotAggregator āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻ†āĻ›ā§‡ āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĨāĻžāĻ•āĻŦā§‡ 2-D āĻĄā§‡āĻŸāĻžāĻ¸ā§‡āĻŸ
āĻšāĻ•ā§āĻ°āĻžāĻ¨ā§āĻ¤ āĻ•āĻ°āĻž

// āĻ¸āĻŽāĻˇā§āĻŸāĻŋāĻ—āĻ¤ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨āĨ¤
aggregator->SetTerminal ("png");
aggregator->SetTitle (plotTitle);
aggregator->SetLegend (plotXAxisHeading, plotYAxisHeading);

// āĻāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻĄā§‡āĻŸāĻž āĻ¸ā§‡āĻŸ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨āĨ¤
aggregator->Add2dDataset (dataset Context, plotDatasetLabel);

// āĻ…ā§āĻ¯āĻžāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ° āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡
aggregator->āĻ¸āĻ•ā§āĻˇāĻŽ ();

āĻāĻ° āĻĒāĻ°ā§‡, 2-āĻĄāĻŋ āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋāĻ¤ā§‡ āĻĒā§ƒāĻĨāĻ•āĻ­āĻžāĻŦā§‡ āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧā§ˇ
GnuplotAggregator āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ˛āĻŋāĻ–ā§āĻ¨2d() āĻĢāĻžāĻ‚āĻļāĻ¨.

āĻĻā§āĻŦāĻŋāĻ—ā§āĻŖ āĻ¸āĻŽāĻ¯āĻŧ;
āĻĻā§āĻŦāĻŋāĻ—ā§āĻŖ āĻŽāĻžāĻ¨;

// 2-āĻĄāĻŋ āĻĄā§‡āĻŸāĻžāĻ¸ā§‡āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨āĨ¤
āĻœāĻ¨ā§āĻ¯ (āĻ¸āĻŽāĻ¯āĻŧ = -5.0; āĻ¸āĻŽāĻ¯āĻŧ <= +5.0; āĻ¸āĻŽāĻ¯āĻŧ += 1.0)
{
// 2-āĻĄāĻŋ āĻŦāĻ•ā§āĻ°āĻ°ā§‡āĻ–āĻž āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°ā§āĻ¨
//
// 2/XNUMX/XNUMX
// āĻŽāĻžāĻ¨ = āĻ¸āĻŽāĻ¯āĻŧāĨ¤
//
āĻŽāĻžāĻ¨ = āĻ¸āĻŽāĻ¯āĻŧ * āĻ¸āĻŽāĻ¯āĻŧ;

// āĻĒā§āĻ˛āĻŸā§‡ āĻāĻ‡ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻŸāĻŋ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨āĨ¤
aggregator->Write2d (āĻĄā§‡āĻŸāĻžāĻ¸ā§‡āĻŸ āĻ•āĻ¨āĻŸā§‡āĻ•ā§āĻ¸āĻŸ, āĻ¸āĻŽāĻ¯āĻŧ, āĻŽāĻžāĻ¨);
}

// āĻ¸āĻŽāĻˇā§āĻŸāĻŋāĻ•āĻžāĻ°ā§€āĻ° āĻœāĻ¨ā§āĻ¯ āĻĄā§‡āĻŸāĻž āĻ˛āĻ—āĻŋāĻ‚ āĻ…āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§āĻ¨āĨ¤
aggregator->āĻ…āĻ•ā§āĻˇāĻŽ ();
}

āĻĢāĻžāĻ‡āĻ˛ āĻāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ°
FileAggregator āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻĒāĻžāĻ āĻžāĻ¯āĻŧāĨ¤

FileAggregator 4āĻŸāĻŋ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡:

¡ āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸āĻŋāĻ¤

¡ āĻ¸ā§āĻĨāĻžāĻ¨ āĻĒā§ƒāĻĨāĻ• āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ)

¡ āĻ•āĻŽāĻž āĻĒā§ƒāĻĨāĻ• āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡

¡ āĻŸā§āĻ¯āĻžāĻŦ āĻ†āĻ˛āĻžāĻĻāĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡

āĻĢāĻ°ā§āĻŽā§āĻ¯āĻžāĻŸ āĻ•āĻ°āĻž āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻ¤āĻžāĻĻā§‡āĻ° āĻŽā§āĻĻā§āĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ C-āĻ¸ā§āĻŸāĻžāĻ‡āĻ˛ āĻĢāĻ°ā§āĻŽā§āĻ¯āĻžāĻŸ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻāĻŦāĻ‚ sprintf() āĻĢāĻžāĻ‚āĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡
āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻŽāĻžāĻ¨ āĻ˛ā§‡āĻ–āĻž āĻšāĻšā§āĻ›ā§‡āĨ¤

āĻ¸ā§ƒāĻˇā§āĻŸāĻŋ
āĻ•ā§€ āĻ•āĻ°āĻž āĻĻāĻ°āĻ•āĻžāĻ° āĻ¤āĻž āĻĻā§‡āĻ–āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ–āĻžāĻ¨ā§‡ FileAggregator āĻ§āĻ°āĻ¨ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤

āĻ¸ā§āĻŽāĻžāĻ°ā§āĻŸ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻ•ā§āĻ˛āĻžāĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĄāĻžāĻ‡āĻ¨āĻžāĻŽāĻŋāĻ• āĻŽā§‡āĻŽāĻ°āĻŋāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛ āĻ…ā§āĻ¯āĻžāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ° āĻ˜ā§‹āĻˇāĻŖāĻž āĻ•āĻ°ā§‡ (Ptr )
āĻ¸ā§āĻŽāĻžāĻ°ā§āĻŸ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻ¸āĻš āĻ—āĻ¤āĻŋāĻļā§€āĻ˛ āĻŽā§‡āĻŽāĻ°āĻŋāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛ āĻ…ā§āĻ¯āĻžāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡, āĻāĻ•āĻœāĻ¨āĻ•ā§‡ āĻ•ā§‡āĻŦāĻ˛ āĻ•āĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡
āĻĻā§āĻ¯ ns-3 āĻĒāĻĻā§āĻ§āĻ¤āĻŋ CreateObject. āĻĨā§‡āĻ•ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•ā§‹āĻĄ
src/stats/examples/file-aggregator-example.cc āĻāĻŸāĻŋ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧ āĻ¤āĻž āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ:

string fileName = "file-agregator-formatted-values.txt";

// āĻāĻ•āĻŸāĻŋ āĻāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ āĻ¯āĻžāĻ¤ā§‡ āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻŸ āĻ•āĻ°āĻž āĻŽāĻžāĻ¨ āĻĨāĻžāĻ•āĻŦā§‡āĨ¤
Ptr aggregator =
āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ (āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ, āĻĢāĻžāĻ‡āĻ˛ āĻ…ā§āĻ¯āĻžāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ°::āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻŸā§‡āĻĄ);

āĻ•āĻ¨āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•ā§āĻŸāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻĨāĻŽ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ, āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ, āĻ˛ā§‡āĻ–āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ; āĻĻā§āĻ¯
āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻ¯ā§āĻ•ā§āĻ¤āĻŋ, āĻĢāĻžāĻ‡āĻ˛ āĻŸāĻžāĻ‡āĻĒ, āĻ˛ā§‡āĻ–āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻĒā§āĻ°āĻ•āĻžāĻ°āĨ¤ āĻāĻ‡ FileAggregator āĻāĻ•āĻŸāĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦā§‡
"file-agregator-formatted-values.txt" āĻ¨āĻžāĻŽā§‡āĻ° āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋāĻ° āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻŽā§āĻĻā§āĻ°āĻŋāĻ¤
āĻĢāĻžāĻ‡āĻ˛ āĻŸāĻžāĻ‡āĻĒ, āĻ…āĻ°ā§āĻĨāĻžā§Ž, āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĢāĻžāĻ‡āĻ˛ āĻĒā§āĻ°āĻ•āĻžāĻ° enum āĻŽāĻžāĻ¨ āĻ…āĻ¨ā§āĻŽā§‹āĻĻāĻŋāĻ¤:

enum āĻĢāĻžāĻ‡āĻ˛ āĻŸāĻžāĻ‡āĻĒ {
āĻĢāĻ°ā§āĻŽā§āĻ¯āĻžāĻŸā§‡āĻĄ,
SPACE_SEPARATED,
COMMA_SEPARATED,
TAB_SEPARATED
};

āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ
āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻ–āĻžāĻ¨ā§‡ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻŦā§‡:

āĻĢāĻžāĻ‡āĻ˛ āĻ…ā§āĻ¯āĻžāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ

āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŽāĻˇā§āĻŸāĻŋāĻŦāĻŋāĻĻ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ
āĻĢāĻžāĻ‡āĻ˛ āĻ…ā§āĻ¯āĻžāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ° āĻ…āĻ¨ā§āĻļā§€āĻ˛āĻ¨ āĻ•āĻ°ā§‡ āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§‡
src/stats/examples/file-aggregator-example.cc.

āĻ•āĻŽāĻž āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§ƒāĻĨāĻ• āĻ•āĻ°āĻž āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° 2 āĻ•āĻ˛āĻžāĻŽ āĻ¸āĻš āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĒāĻžāĻ ā§āĻ¯ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ

-5,25
-4,16
-3,9
-2,4
-1,1
0,0
1,1
2,4
3,9
4,16
5,25

āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĨā§‡āĻ•ā§‡ āĻāĻ‡ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ āĻ¯ā§‡ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻĢāĻžāĻ‡āĻ˛ āĻ…ā§āĻ¯āĻžāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¯ā§‡āĻŽāĻ¨ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛
āĻ‰āĻĒāĻ°ā§‡āĨ¤

āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ āĻ•āĻŽāĻž āĻŦāĻŋāĻ­āĻžāĻœāĻŋāĻ¤ āĻĢāĻžāĻ‡āĻ˛ ()
{
āĻ¨ā§‡āĻŽāĻ¸ā§āĻĒā§‡āĻ¸ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡;

string fileName = "āĻĢāĻžāĻ‡āĻ˛-āĻāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ°-āĻ•āĻŽāĻž-āĻŦāĻŋāĻ­āĻžāĻœāĻŋāĻ¤.txt";
string datasetContext = "āĻĄā§‡āĻŸāĻžāĻ¸ā§‡āĻŸ/āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ—/āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚";

// āĻāĻ•āĻŸāĻŋ āĻāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨āĨ¤
Ptr aggregator =
āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ (āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ, āĻĢāĻžāĻ‡āĻ˛ āĻ…ā§āĻ¯āĻžāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ°::COMMA_SEPARATED);

FileAggregator āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ.

// āĻ…ā§āĻ¯āĻžāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ° āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡
aggregator->āĻ¸āĻ•ā§āĻˇāĻŽ ();

āĻāĻ° āĻĒāĻ°ā§‡, 2-āĻĄāĻŋ āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋāĻ¤ā§‡ āĻĒā§ƒāĻĨāĻ•āĻ­āĻžāĻŦā§‡ āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧā§ˇ
FileAggregator āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ˛āĻŋāĻ–ā§āĻ¨2d() āĻĢāĻžāĻ‚āĻļāĻ¨.

āĻĻā§āĻŦāĻŋāĻ—ā§āĻŖ āĻ¸āĻŽāĻ¯āĻŧ;
āĻĻā§āĻŦāĻŋāĻ—ā§āĻŖ āĻŽāĻžāĻ¨;

// 2-āĻĄāĻŋ āĻĄā§‡āĻŸāĻžāĻ¸ā§‡āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨āĨ¤
āĻœāĻ¨ā§āĻ¯ (āĻ¸āĻŽāĻ¯āĻŧ = -5.0; āĻ¸āĻŽāĻ¯āĻŧ <= +5.0; āĻ¸āĻŽāĻ¯āĻŧ += 1.0)
{
// 2-āĻĄāĻŋ āĻŦāĻ•ā§āĻ°āĻ°ā§‡āĻ–āĻž āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°ā§āĻ¨
//
// 2/XNUMX/XNUMX
// āĻŽāĻžāĻ¨ = āĻ¸āĻŽāĻ¯āĻŧāĨ¤
//
āĻŽāĻžāĻ¨ = āĻ¸āĻŽāĻ¯āĻŧ * āĻ¸āĻŽāĻ¯āĻŧ;

// āĻĒā§āĻ˛āĻŸā§‡ āĻāĻ‡ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻŸāĻŋ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨āĨ¤
aggregator->Write2d (āĻĄā§‡āĻŸāĻžāĻ¸ā§‡āĻŸ āĻ•āĻ¨āĻŸā§‡āĻ•ā§āĻ¸āĻŸ, āĻ¸āĻŽāĻ¯āĻŧ, āĻŽāĻžāĻ¨);
}

// āĻ¸āĻŽāĻˇā§āĻŸāĻŋāĻ•āĻžāĻ°ā§€āĻ° āĻœāĻ¨ā§āĻ¯ āĻĄā§‡āĻŸāĻž āĻ˛āĻ—āĻŋāĻ‚ āĻ…āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§āĻ¨āĨ¤
aggregator->āĻ…āĻ•ā§āĻˇāĻŽ ();
}

āĻĢāĻ°ā§āĻŽā§āĻ¯āĻžāĻŸ āĻ•āĻ°āĻž āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° 2 āĻ•āĻ˛āĻžāĻŽ āĻ¸āĻš āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĒāĻžāĻ ā§āĻ¯ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋāĻ“ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ

āĻ¸āĻŽāĻ¯āĻŧ = -5.000e+00 āĻŽāĻžāĻ¨ = 25
āĻ¸āĻŽāĻ¯āĻŧ = -4.000e+00 āĻŽāĻžāĻ¨ = 16
āĻ¸āĻŽāĻ¯āĻŧ = -3.000e+00 āĻŽāĻžāĻ¨ = 9
āĻ¸āĻŽāĻ¯āĻŧ = -2.000e+00 āĻŽāĻžāĻ¨ = 4
āĻ¸āĻŽāĻ¯āĻŧ = -1.000e+00 āĻŽāĻžāĻ¨ = 1
āĻ¸āĻŽāĻ¯āĻŧ = 0.000e+00 āĻŽāĻžāĻ¨ = 0
āĻ¸āĻŽāĻ¯āĻŧ = 1.000e+00 āĻŽāĻžāĻ¨ = 1
āĻ¸āĻŽāĻ¯āĻŧ = 2.000e+00 āĻŽāĻžāĻ¨ = 4
āĻ¸āĻŽāĻ¯āĻŧ = 3.000e+00 āĻŽāĻžāĻ¨ = 9
āĻ¸āĻŽāĻ¯āĻŧ = 4.000e+00 āĻŽāĻžāĻ¨ = 16
āĻ¸āĻŽāĻ¯āĻŧ = 5.000e+00 āĻŽāĻžāĻ¨ = 25

āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĨā§‡āĻ•ā§‡ āĻāĻ‡ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ āĻ¯ā§‡ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻĢāĻžāĻ‡āĻ˛ āĻ…ā§āĻ¯āĻžāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¯ā§‡āĻŽāĻ¨ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛
āĻ‰āĻĒāĻ°ā§‡āĨ¤

āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° CreateFormattedFile ()
{
āĻ¨ā§‡āĻŽāĻ¸ā§āĻĒā§‡āĻ¸ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡;

string fileName = "file-agregator-formatted-values.txt";
string datasetContext = "āĻĄā§‡āĻŸāĻžāĻ¸ā§‡āĻŸ/āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ—/āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚";

// āĻāĻ•āĻŸāĻŋ āĻāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ āĻ¯āĻžāĻ¤ā§‡ āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻŸ āĻ•āĻ°āĻž āĻŽāĻžāĻ¨ āĻĨāĻžāĻ•āĻŦā§‡āĨ¤
Ptr aggregator =
āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ (āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ, āĻĢāĻžāĻ‡āĻ˛ āĻ…ā§āĻ¯āĻžāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ°::āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻŸā§‡āĻĄ);

āĻĢāĻžāĻ‡āĻ˛ āĻ…ā§āĻ¯āĻžāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ° āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻ†āĻ›ā§‡, āĻ¸āĻŋ-āĻ¸ā§āĻŸāĻžāĻ‡āĻ˛ āĻĢāĻ°ā§āĻŽā§āĻ¯āĻžāĻŸ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯āĨ¤

// āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨āĨ¤
aggregator->Set2dFormat ("Time = %.3e\tValue = %.0f");

// āĻ…ā§āĻ¯āĻžāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ° āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡
aggregator->āĻ¸āĻ•ā§āĻˇāĻŽ ();

āĻāĻ° āĻĒāĻ°ā§‡, 2-āĻĄāĻŋ āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋāĻ¤ā§‡ āĻĒā§ƒāĻĨāĻ•āĻ­āĻžāĻŦā§‡ āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧā§ˇ
FileAggregator āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ˛āĻŋāĻ–ā§āĻ¨2d() āĻĢāĻžāĻ‚āĻļāĻ¨.

āĻĻā§āĻŦāĻŋāĻ—ā§āĻŖ āĻ¸āĻŽāĻ¯āĻŧ;
āĻĻā§āĻŦāĻŋāĻ—ā§āĻŖ āĻŽāĻžāĻ¨;

// 2-āĻĄāĻŋ āĻĄā§‡āĻŸāĻžāĻ¸ā§‡āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨āĨ¤
āĻœāĻ¨ā§āĻ¯ (āĻ¸āĻŽāĻ¯āĻŧ = -5.0; āĻ¸āĻŽāĻ¯āĻŧ <= +5.0; āĻ¸āĻŽāĻ¯āĻŧ += 1.0)
{
// 2-āĻĄāĻŋ āĻŦāĻ•ā§āĻ°āĻ°ā§‡āĻ–āĻž āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°ā§āĻ¨
//
// 2/XNUMX/XNUMX
// āĻŽāĻžāĻ¨ = āĻ¸āĻŽāĻ¯āĻŧāĨ¤
//
āĻŽāĻžāĻ¨ = āĻ¸āĻŽāĻ¯āĻŧ * āĻ¸āĻŽāĻ¯āĻŧ;

// āĻĒā§āĻ˛āĻŸā§‡ āĻāĻ‡ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻŸāĻŋ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨āĨ¤
aggregator->Write2d (āĻĄā§‡āĻŸāĻžāĻ¸ā§‡āĻŸ āĻ•āĻ¨āĻŸā§‡āĻ•ā§āĻ¸āĻŸ, āĻ¸āĻŽāĻ¯āĻŧ, āĻŽāĻžāĻ¨);
}

// āĻ¸āĻŽāĻˇā§āĻŸāĻŋāĻ•āĻžāĻ°ā§€āĻ° āĻœāĻ¨ā§āĻ¯ āĻĄā§‡āĻŸāĻž āĻ˛āĻ—āĻŋāĻ‚ āĻ…āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§āĻ¨āĨ¤
aggregator->āĻ…āĻ•ā§āĻˇāĻŽ ();
}

āĻ…ā§āĻ¯āĻžāĻĄāĻžāĻĒā§āĻŸāĻžāĻ°
āĻāĻ‡ āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ āĻ…ā§āĻ¯āĻžāĻĄāĻžāĻĒā§āĻŸāĻžāĻ° āĻ•ā§āĻ˛āĻžāĻ¸ āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻ•āĻŸāĻŋāĻ•ā§‡ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻŦāĻŋāĻŦāĻ°āĻŖ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ā§ˇ ns-3
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻāĻ‡ āĻŦāĻŋāĻ­āĻžāĻ—āĻŸāĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻ†āĻ—ā§āĻ°āĻšā§€ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§‹āĻāĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ā§ˇ
ns-3 āĻŸā§āĻ˛āĻ¸ āĻāĻŦāĻ‚ āĻĄā§‡āĻŸāĻž āĻ•āĻžāĻ˛ā§‡āĻ•āĻļāĻ¨ āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡, āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ…ā§āĻ¯āĻžāĻĄāĻžāĻĒā§āĻŸāĻžāĻ° āĻ•ā§āĻ˛āĻžāĻ¸ āĻāĻ•āĻŸāĻŋ āĻ…āĻ‚āĻļ,
āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ā§‡āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĄā§‡āĻŸāĻž āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡āĨ¤

āĻĻā§āĻ°āĻˇā§āĻŸāĻŦā§āĻ¯: 'āĻ…ā§āĻ¯āĻžāĻĄāĻžāĻĒā§āĻŸāĻ°' āĻļāĻŦā§āĻĻāĻŸāĻŋāĻ“ 'āĻ…ā§āĻ¯āĻžāĻĄāĻžāĻĒā§āĻŸāĻžāĻ°' āĻŦāĻžāĻ¨āĻžāĻ¨ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡; āĻ†āĻŽāĻ°āĻž āĻ¸āĻžāĻ°āĻŋāĻŦāĻĻā§āĻ§ āĻŦāĻžāĻ¨āĻžāĻ¨ āĻŦā§‡āĻ›ā§‡ āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋ
C++ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻ¸āĻšāĨ¤

āĻāĻĄāĻžāĻĒāĻŸāĻžāĻ° āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻŦāĻŋāĻŦāĻ°āĻŖ
āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻĄāĻžāĻĒā§āĻŸāĻžāĻ° āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ§āĻ°āĻ¨ā§‡āĻ° DCF āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧāĨ¤

āĻ†āĻœ āĻ…āĻŦāĻ§āĻŋ, āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻĄāĻžāĻĒā§āĻŸāĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡:

¡ āĻŸāĻžāĻ‡āĻŽ āĻ¸āĻŋāĻ°āĻŋāĻœ āĻ…ā§āĻ¯āĻžāĻĄāĻžāĻĒā§āĻŸāĻ°

āĻ¸āĻŽāĻ¯āĻŧ āĻ•ā§āĻ°āĻŽ āĻāĻĄāĻžāĻĒāĻŸāĻžāĻ°
TimeSeriesAdaptor āĻĒā§āĻ°ā§‹āĻŦāĻ•ā§‡ āĻ•ā§‹āĻ¨ā§‹ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ…ā§āĻ¯āĻžāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ°āĻĻā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ
āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ•āĻžāĻ˛ā§‡āĻ•ā§āĻŸāĻ°āĨ¤

āĻ‰āĻ­āĻ¯āĻŧ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻŋāĻ¤ DCF āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻ¤āĻĻāĻ¨ā§āĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ TimeSeriesAdaptors āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡
āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻŽāĻžāĻ¨ āĻāĻŦāĻ‚ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻāĻŦāĻ‚ āĻ‰āĻ­āĻ¯āĻŧ āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻ¸āĻš āĻŽāĻžāĻ¨
āĻĻā§āĻŦāĻŋāĻ—ā§āĻŖ āĻ•āĻ°āĻ¤ā§‡

TimeSeriesAdaptor āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻ­ā§‚āĻŽāĻŋāĻ•āĻž āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻĄāĻžāĻĒā§āĻŸāĻ°ā§‡āĻ° āĻ­ā§‚āĻŽāĻŋāĻ•āĻž, āĻ¯āĻž āĻ•āĻžāĻāĻšāĻž-āĻŽā§‚āĻ˛ā§āĻ¯ āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°ā§‡
āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ§āĻ°āĻŖā§‡āĻ° āĻĒā§āĻ°ā§‹āĻŦ āĻĄā§‡āĻŸāĻž āĻāĻŦāĻ‚ āĻĻā§āĻŸāĻŋ āĻĻā§āĻŦāĻŋāĻ—ā§āĻŖ āĻŽāĻžāĻ¨ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻŸāĻŋāĻĒāĻ˛ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ•āĻ°ā§‡āĨ¤ āĻĒā§āĻ°āĻĨāĻŽāĻŸāĻŋ āĻšāĻ˛ āĻ•
āĻŸāĻžāĻ‡āĻŽāĻ¸ā§āĻŸā§āĻ¯āĻžāĻŽā§āĻĒ, āĻ¯āĻž āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ°ā§‡āĻœā§‹āĻ˛āĻŋāĻ‰āĻļāĻ¨ā§‡ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ (āĻ¯ā§‡āĻŽāĻ¨ āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ, āĻŽāĻŋāĻ˛āĻŋāĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ, āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋ)
āĻ­āĻŦāĻŋāĻˇā§āĻ¯āĻ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¯āĻž āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§‡ āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡ āĻšāĻžāĻ°ā§āĻĄāĻ•ā§‹āĻĄ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧāĻŸāĻŋ āĻšāĻ˛ a āĻāĻ° āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ°
āĻ¨āĻ¨-āĻĄāĻŦāĻ˛ āĻŽāĻžāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻĻā§āĻŦāĻŋāĻ—ā§āĻŖ āĻŽāĻžāĻ¨ (āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻ¨āĻŋāĻ°ā§āĻ­ā§āĻ˛āĻ¤āĻž āĻšāĻžāĻ°āĻžāĻ¨ā§‹āĻ° āĻ¸āĻžāĻĨā§‡)āĨ¤

āĻ¸ā§āĻ¯ā§‹āĻ—/āĻ¸ā§€āĻŽāĻžāĻŦāĻĻā§āĻ§āĻ¤āĻž
āĻāĻ‡ āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ āĻ¤āĻĨā§āĻ¯ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšā§‡āĻ° āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•ā§‡āĻ° āĻ¸ā§āĻ¯ā§‹āĻ— āĻāĻŦāĻ‚ āĻ¸ā§€āĻŽāĻžāĻŦāĻĻā§āĻ§āĻ¤āĻž āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§‡, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ‡ āĻĒā§āĻ°ā§‹āĻŦāĻ—ā§āĻ˛āĻŋ DCF āĻ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡:

āĻŦā§āĻ˛āĻŋāĻ¯āĻŧāĻžāĻ¨āĻĒā§āĻ°ā§‹āĻŦ

¡ āĻĄāĻžāĻŦāĻ˛āĻĒā§āĻ°ā§‹āĻŦ

¡ Uinteger8Probe

¡ Uinteger16Probe

¡ Uinteger32Probe

¡ āĻŸāĻžāĻ‡āĻŽāĻĒā§āĻ°ā§‹āĻŦ

¡ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸāĻĒā§āĻ°ā§‹āĻŦ

¡ ApplicationPacketProbe

¡ Ipv4PacketProbe

āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§‡, DCF-āĻ āĻ•ā§‹āĻ¨ āĻ•āĻžāĻ˛ā§‡āĻ•ā§āĻŸāĻ° āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¨āĻž, āĻ¯āĻĻāĻŋāĻ“ āĻāĻ•āĻœāĻ¨ BasicStatsCollector āĻāĻ° āĻ…āĻ§ā§€āĻ¨ā§‡
āĻ‰āĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨āĨ¤

āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§‡, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ‡ Aggregators DCF-āĻ¤ā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡:

¡ GnuplotAggregator

¡ āĻĢāĻžāĻ‡āĻ˛ āĻ…ā§āĻ¯āĻžāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ°

āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§‡, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ‡ āĻ…ā§āĻ¯āĻžāĻĄāĻžāĻĒā§āĻŸāĻžāĻ°āĻŸāĻŋ DCF āĻ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡:

āĻŸāĻžāĻ‡āĻŽ-āĻ¸āĻŋāĻ°āĻŋāĻœ āĻ…ā§āĻ¯āĻžāĻĄāĻžāĻĒā§āĻŸāĻ°āĨ¤

āĻ­āĻŦāĻŋāĻˇā§āĻ¯ā§Ž āĻšā§ŸāĻž āĻ¯āĻžāĻ‡ ?
āĻāĻ‡ āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ āĻĄā§‡āĻŸāĻž āĻ¸āĻ‚āĻ—ā§āĻ°āĻšā§‡āĻ° āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•ā§‡āĻ° āĻ­āĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§‡āĻ° āĻ•āĻžāĻœāĻ—ā§āĻ˛āĻŋ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻāĻ–āĻžāĻ¨ā§‡ āĻ•āĻŋāĻ›ā§ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻ¯āĻž āĻāĻ–āĻ¨āĻ“ āĻ•āĻ°āĻž āĻĻāĻ°āĻ•āĻžāĻ°:

¡ āĻ†āĻ°āĻ“ āĻŸā§āĻ°ā§‡āĻ¸ āĻ‰āĻ¤ā§āĻ¸āĻ•ā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§āĻ¨ ns-3 āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻĨā§‡āĻ•ā§‡ āĻ†āĻ°āĻ“ āĻŽāĻžāĻ¨ āĻĒā§‡āĻ¤ā§‡ āĻ•ā§‹āĻĄāĨ¤

āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§‡ āĻ¯āĻ¤ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĒā§āĻ°ā§‹āĻŦ āĻ†āĻ›ā§‡ āĻ¤āĻžāĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻŦā§‡āĻļāĻŋ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĒā§āĻ°ā§‹āĻŦ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°ā§āĻ¨āĨ¤

āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻ• āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ 2-āĻĄāĻŋ āĻ•āĻžāĻ˛ā§‡āĻ•ā§āĻŸāĻ°, āĻŦā§‡āĻ¸āĻŋāĻ•āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻ¸āĻ•āĻ˛ā§‡āĻ•ā§āĻŸāĻ°ā§‡āĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻ†āĻ°āĻ“ āĻŦā§‡āĻļāĻŋ āĻ•āĻŋāĻ›ā§ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°ā§āĻ¨āĨ¤

¡ āĻ†āĻ°āĻ“ āĻ…ā§āĻ¯āĻžāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°ā§āĻ¨āĨ¤

¡ āĻļā§āĻ§ā§ āĻ…ā§āĻ¯āĻžāĻĄāĻžāĻĒā§āĻŸāĻ°ā§‡āĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻŦā§‡āĻļāĻŋ āĻ•āĻŋāĻ›ā§ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°ā§āĻ¨āĨ¤

āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨āĻ¸āĻ‚āĻ•ā§āĻ°āĻžāĻ¨ā§āĻ¤ āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•
āĻāĻ‡ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧā§‡ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻĄā§‡āĻŸāĻž āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻāĻŦāĻ‚ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨āĻ—āĻ¤ āĻ•āĻžāĻ āĻžāĻŽā§‹āĻ° āĻ•āĻžāĻœā§‡āĻ° āĻ°ā§‚āĻĒāĻ°ā§‡āĻ–āĻž āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
ns-3.

āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻ•āĻžāĻ āĻžāĻŽā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰ā§ŽāĻ¸ āĻ•ā§‹āĻĄ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻĨāĻžāĻ•ā§‡ src/āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨.

āĻ—ā§‹āĻ˛
āĻāĻ‡ āĻĒā§āĻ°āĻšā§‡āĻˇā§āĻŸāĻžāĻ° āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯āĻ—ā§āĻ˛āĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§‚āĻĒ:

¡ āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĄā§‡āĻŸāĻž āĻāĻŦāĻ‚ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻ°ā§‡āĻ•āĻ°ā§āĻĄ, āĻ—āĻŖāĻ¨āĻž āĻāĻŦāĻ‚ āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ā§‡āĻ° āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§āĻ¨
āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ā§‡āĻ°āĨ¤

¡ āĻŦā§āĻ¯āĻžāĻĒāĻ• āĻŸā§āĻ°ā§‡āĻ¸ āĻ˛āĻ— āĻ‡āĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧāĻ¤āĻž āĻšā§āĻ°āĻžāĻ¸ āĻ•āĻ°ā§‡ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻ•āĻ°ā§āĻ¨
āĻ¤āĻĨā§āĻ¯ āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯āĨ¤

¡ āĻ…āĻ¨āĻ˛āĻžāĻ‡āĻ¨ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§āĻ¨, āĻ¯ā§‡āĻŽāĻ¨ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻž āĻŦāĻž
āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋ āĻŸā§āĻ°āĻžāĻ¯āĻŧāĻžāĻ˛

āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻ‰āĻĒ-āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤āĻ—ā§āĻ˛āĻŋ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:

āĻŦā§‡āĻ¸āĻŋāĻ• āĻ‡āĻ¨ā§āĻ¸āĻŸā§āĻ°ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ ns-3 āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•ā§€āĻ•āĻ°āĻŖ
āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ‡āĻžā§āĻœāĻŋāĻ¨ā§‡āĻ°, āĻ¯ā§‡āĻŽāĻ¨ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ•, āĻ¨ā§‡āĻŸ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻāĻŦāĻ‚ āĻšā§āĻ¯āĻžāĻ¨ā§‡āĻ˛āĨ¤

¡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻ•āĻžāĻ āĻžāĻŽā§‹ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻž
āĻĒāĻĻā§āĻ§āĻ¤āĻŋ.

¡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ¯āĻŧ āĻĄā§‡āĻŸāĻž āĻ¤ā§ˆāĻ°āĻŋ, āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻŦāĻ‚ āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖā§‡ āĻ¸āĻšāĻžāĻ¯āĻŧāĻ¤āĻž āĻ•āĻ°āĻžāĨ¤

¡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ‡āĻ¨ā§āĻ¸āĻŸā§āĻ°ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨, āĻ¯ā§‡āĻŽāĻ¨ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻāĻŦāĻ‚
āĻĒāĻ°āĻŋāĻŽāĻžāĻĒ āĻ•āĻ°ā§‡āĨ¤

¡ āĻ•āĻŽ āĻŽā§‡āĻŽāĻ°āĻŋ āĻāĻŦāĻ‚ CPU āĻ“āĻ­āĻžāĻ°āĻšā§‡āĻĄ āĻ¯āĻ–āĻ¨ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤

¡ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖ āĻāĻŦāĻ‚ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽāĻ—ā§āĻ˛āĻŋ āĻ¯āĻ¤āĻŸāĻž āĻ¸āĻŽā§āĻ­āĻŦ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĨ¤ āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ•āĻŋāĻ›ā§ āĻŽā§ŒāĻ˛āĻŋāĻ• āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻĢā§‹āĻ•āĻžāĻ¸ āĻ¤āĻĨā§āĻ¯ āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻĒā§āĻ°āĻ¤āĻŋāĻˇā§āĻ āĻŋāĻ¤ āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĒā§āĻ˛ā§‡āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸āĻ¯ā§‹āĻ—ā§āĻ¯āĨ¤

¡ āĻ¸ā§āĻŦāĻžāĻ§ā§€āĻ¨ āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋ āĻŦāĻŋāĻ¤āĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻšā§‚āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ¨āĻ¯āĻŧ
āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ā§‡āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻ°āĻžāĻ‰āĻ¨ā§āĻĄā§‡āĨ¤

āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻŦāĻŋāĻŦāĻ°āĻŖ
āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻ•āĻžāĻ āĻžāĻŽā§‹āĻ¤ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:

¡ āĻŽā§‚āĻ˛ āĻ•āĻžāĻ āĻžāĻŽā§‹ āĻāĻŦāĻ‚ āĻĻā§āĻŸāĻŋ āĻŽā§ŒāĻ˛āĻŋāĻ• āĻ¤āĻĨā§āĻ¯ āĻ¸āĻ‚āĻ—ā§āĻ°āĻžāĻšāĻ•: āĻāĻ•āĻŸāĻŋ āĻ•āĻžāĻ‰āĻ¨ā§āĻŸāĻžāĻ°, āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ°ā§āĻŦāĻ¨āĻŋāĻŽā§āĻ¨/āĻ¸āĻ°ā§āĻŦā§‹āĻšā§āĻš/āĻ—āĻĄāĻŧ/āĻŽā§‹āĻŸ
āĻĒāĻ°ā§āĻ¯āĻŦā§‡āĻ•ā§āĻˇāĻ•

āĻ¸āĻŽāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻšāĻœā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ—ā§āĻ˛ā§‹āĻ° āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨āĨ¤

¡ āĻĒā§āĻ˛ā§‡āĻ‡āĻ¨āĻŸā§‡āĻ•ā§āĻ¸āĻŸ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ OMNet++.

¡ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ SQLite, āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŦāĻ¤āĻ¨ā§āĻ¤ā§āĻ°, āĻ˛āĻžāĻ‡āĻŸāĻ“āĻ¯āĻŧā§‡āĻŸ, āĻ‰āĻšā§āĻš āĻ•āĻžāĻ°ā§āĻ¯āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ SQL āĻ‡āĻžā§āĻœāĻŋāĻ¨āĨ¤

¡ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻāĻŦāĻ‚ āĻ°āĻžāĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻžāĻ§ā§āĻ¯āĻ¤āĻžāĻŽā§‚āĻ˛āĻ• āĻāĻŦāĻ‚ āĻ–ā§‹āĻ˛āĻž āĻļā§‡āĻˇ āĻŽā§‡āĻŸāĻžāĻĄā§‡āĻŸāĻžāĨ¤

NS-3 āĻāĻ° āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻžāĻ° āĻ§āĻžāĻ°āĻŖāĻžāĻ—āĻ¤ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ
āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻ…ā§āĻ¯āĻžāĻĄāĻšāĻ• āĻ“āĻ¯āĻŧāĻžāĻ‡āĻĢāĻžāĻ‡ āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻžāĨ¤ āĻāĻŸāĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§‡:

¡ āĻāĻ•āĻŸāĻŋ āĻĻā§āĻŸāĻŋ āĻ¨ā§‹āĻĄ āĻ…ā§āĻ¯āĻžāĻĄāĻšāĻ• āĻ“āĻ¯āĻŧāĻžāĻ‡āĻĢāĻžāĻ‡ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡, āĻ¨ā§‹āĻĄāĻ—ā§āĻ˛āĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°āĻžāĻ‡āĻœāĻĄ āĻĻā§‚āĻ°āĻ¤ā§āĻŦ āĻ¸āĻš
āĻĒā§ƒāĻĨāĻ•ā§.

¡ UDP āĻŸā§āĻ°āĻžāĻĢāĻŋāĻ• āĻ¸ā§‹āĻ°ā§āĻ¸ āĻāĻŦāĻ‚ āĻ¸āĻŋāĻ™ā§āĻ• āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ¸āĻžāĻŽāĻžāĻ¨ā§āĻ¯ āĻ­āĻŋāĻ¨ā§āĻ¨ āĻ†āĻšāĻ°āĻŖā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻŦāĻ‚
āĻ¸ā§āĻŸāĻ• āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻĒāĻ°āĻŋāĻŽāĻžāĻĒā§‡āĻ° āĻšā§āĻ•āĨ¤

¡ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸āĻ‚āĻ•ā§‡āĻ¤ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ NS-3 āĻ•ā§‹āĻ° āĻĨā§‡āĻ•ā§‡ āĻĄā§‡āĻŸāĻž āĻ¸āĻ‚āĻ—ā§āĻ°āĻš, āĻŦāĻŋāĻļā§‡āĻˇ āĻ•āĻ°ā§‡ āĻĄā§‡āĻŸāĻž
āĻĢā§āĻ°ā§‡āĻŽ āĻĒā§āĻ°ā§‡āĻ°āĻŋāĻ¤ āĻāĻŦāĻ‚ āĻ“āĻ¯āĻŧāĻžāĻ‡āĻĢāĻžāĻ‡ MAC āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻžāĻĒā§āĻ¤.

¡ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸā§‡ āĻ¨āĻ¤ā§āĻ¨ āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸āĻ‚āĻ•ā§‡āĻ¤ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§‡ āĻ•āĻžāĻ¸ā§āĻŸāĻŽ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ā§‡āĻ° āĻ‰āĻĒāĻ•āĻ°āĻŖ
āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•, āĻ¸ā§‡āĻ‡āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ†āĻĒāĻĄā§‡āĻŸā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡āĨ¤ āĻ¤āĻĨā§āĻ¯ āĻŽā§‹āĻŸ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ°ā§‡āĻ•āĻ°ā§āĻĄ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻĒāĻžāĻ āĻžāĻ¨ā§‹ āĻāĻŦāĻ‚ āĻ—ā§ƒāĻšā§€āĻ¤, āĻŦāĻžāĻ‡āĻŸ āĻĒā§āĻ°ā§‡āĻ°āĻŖ, āĻāĻŦāĻ‚ āĻļā§‡āĻˇ āĻĨā§‡āĻ•ā§‡ āĻļā§‡āĻˇ āĻŦāĻŋāĻ˛āĻŽā§āĻŦāĨ¤

¡ āĻāĻ¨ā§āĻĄ-āĻŸā§-āĻāĻ¨ā§āĻĄ āĻŦāĻŋāĻ˛āĻŽā§āĻŦ āĻŸā§āĻ°ā§āĻ¯āĻžāĻ• āĻ•āĻ°āĻ¤ā§‡ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻŸā§āĻ¯āĻžāĻ— āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĨ¤

¡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ¯āĻž āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ¸āĻŽāĻ¯āĻŧā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž-āĻ¨āĻŋāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻšāĻžāĻ˛āĻžāĻ¯āĻŧ
āĻĻā§‚āĻ°āĻ¤ā§āĻŦ āĻāĻŦāĻ‚ āĻœāĻŋāĻāĻ¨āĻ‡āĻ‰āĻĒā§āĻ˛āĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ—ā§āĻ°āĻžāĻĢ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸āĻ•ā§‡ āĻœāĻŋāĻœā§āĻžāĻžāĻ¸āĻž āĻ•āĻ°ā§‡āĨ¤

āĻ•āĻ°āĻ¤ā§‡
āĻ‰āĻšā§āĻš āĻ…āĻ—ā§āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ° āĻ†āĻ‡āĻŸā§‡āĻŽ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤:

¡ āĻ…āĻ¨āĻ˛āĻžāĻ‡āĻ¨ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻ•ā§‹āĻĄ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤āĻŋ, āĻ¯ā§‡āĻŽāĻ¨ āĻŽā§‡āĻŽāĻ°āĻŋ āĻĻāĻ•ā§āĻˇ āĻ†āĻ¤ā§āĻŽāĻŦāĻŋāĻļā§āĻŦāĻžāĻ¸ā§‡āĻ° āĻŦā§āĻ¯āĻŦāĻ§āĻžāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯āĨ¤

¡ āĻ°āĻžāĻ¨ āĻ¸āĻŽāĻžāĻĒā§āĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¤āĻĨā§āĻ¯ āĻ¸āĻ‚āĻ—ā§āĻ°āĻžāĻšāĻ• āĻŽāĻ§ā§āĻ¯ā§‡ āĻŦāĻŋāĻ§āĻžāĻ¨, āĻ…āĻ°ā§āĻĨāĻžāĻ¤ āĻ¯āĻ–āĻ¨ āĻāĻ•āĻŸāĻŋ āĻĨā§āĻ°ā§‡āĻļāĻšā§‹āĻ˛ā§āĻĄ āĻŦāĻž
āĻ†āĻ¤ā§āĻŽāĻŦāĻŋāĻļā§āĻŦāĻžāĻ¸ āĻĒā§‚āĻ°āĻŖ āĻšāĻ¯āĻŧāĨ¤

¡ āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¨āĻŽā§āĻ¨āĻž āĻ˛āĻ— āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĄā§‡āĻŸāĻž āĻ¸āĻ‚āĻ—ā§āĻ°āĻžāĻšāĻ•, āĻāĻŦāĻ‚ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĢāĻ°ā§āĻŽā§āĻ¯āĻžāĻŸā§‡ āĻ†āĻ‰āĻŸāĻĒā§āĻŸāĨ¤

¡ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ āĻ•āĻŋāĻ›ā§ āĻŽāĻžāĻ¨ āĻĒā§‹āĻ˛ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻšāĻ•ā§āĻ°ā§€āĻ¯āĻŧ āĻ˜āĻŸāĻ¨āĻž āĻ†āĻ āĻžāĻ˛ā§‹ āĻ˛ā§‡āĻ–āĻž āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°ā§āĻ¨āĨ¤

āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ•āĻžāĻ āĻžāĻŽā§‹āĻ¤ā§‡ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¤āĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ¤ā§āĻ¯ā§‡āĻ•āĻ•ā§‡ āĻ¸āĻšāĻœāĻŦā§‹āĻ§ā§āĻ¯ āĻĒā§āĻ°āĻŽāĻžāĻŖ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤

āĻ…āĻ­āĻŋāĻ—āĻŽāĻ¨
āĻ•āĻžāĻ āĻžāĻŽā§‹āĻŸāĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻŽā§‚āĻ˛ āĻ¨ā§€āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋāĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡:

¡ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻŽā§‚āĻ˛āĻ• āĻŸā§āĻ°āĻžāĻ¯āĻŧāĻžāĻ˛ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧ, āĻ¤āĻž āĻšā§‹āĻ• āĻ¨āĻž āĻ•ā§‡āĻ¨
āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛ āĻŦāĻž āĻ§āĻžāĻ°āĻžāĻŦāĻžāĻšāĻŋāĻ•āĻ­āĻžāĻŦā§‡āĨ¤

¡ āĻāĻ•āĻŸāĻŋ āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ā§‡āĻ° āĻĻā§ƒāĻˇā§āĻŸāĻžāĻ¨ā§āĻ¤āĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻ•āĻ°ā§‡, āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ…āĻ¨ā§āĻ¸āĻžāĻ°ā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋāĨ¤

¡ āĻŦāĻšāĻŋāĻ°āĻžāĻ—āĻ¤ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĒā§āĻ˛āĻŸ āĻāĻŦāĻ‚ āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĄā§‡āĻŸāĻž āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻāĻŦāĻ‚ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽāĨ¤

NS-3 āĻ•ā§‹āĻ°ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĒāĻ°āĻŋāĻŽāĻžāĻĒ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸ āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻ•ā§‡ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§‡
āĻ¸āĻ‚āĻ•ā§‡āĻ¤ āĻŸā§āĻ°ā§‡āĻ¸āĨ¤

¡ āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸āĻŋāĻ—āĻ¨ā§āĻ¯āĻžāĻ˛ āĻŦāĻž āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•ā§‡āĻ° āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĒā§āĻ˛ā§‡āĻļāĻ¨ āĻ¯āĻ¨ā§āĻ¤ā§āĻ° āĻ•āĻžāĻ¸ā§āĻŸāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ•ā§‹āĻĄāĨ¤

āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•ā§‡āĻ° āĻ¸ā§‡āĻ‡ āĻŽā§ŒāĻ˛āĻŋāĻ• āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻāĻŦāĻ‚ āĻ¤āĻžāĻĻā§‡āĻ° āĻŽāĻŋāĻĨāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¤ā§‡ āĻšāĻŋāĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻšāĻŋāĻ¤ā§āĻ°āĨ¤ [āĻ›āĻŦāĻŋ]

āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ
āĻāĻ‡ āĻŦāĻŋāĻ­āĻžāĻ—āĻŸāĻŋ āĻ•āĻžāĻ āĻžāĻŽā§‹āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖā§‡āĻ° āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ° āĻŽāĻ§ā§āĻ¯ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¯āĻŧ āĻāĻŦāĻ‚
āĻāĻŸāĻŋ āĻĨā§‡āĻ•ā§‡ āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖā§‡āĻ° (āĻ—ā§āĻ°āĻžāĻĢ) āĻœāĻ¨ā§āĻ¯ āĻĄā§‡āĻŸāĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž, āĻ•āĻžāĻ āĻžāĻŽā§‹ āĻāĻŦāĻ‚ API āĻŦāĻ°āĻžāĻŦāĻ° āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°āĻž
āĻ°āĻžāĻ¸ā§āĻ¤āĻž.

āĻĒā§āĻ°āĻļā§āĻ¨
''āĻāĻ¨āĻāĻ¸-ā§Š āĻāĻ° āĻ“āĻ¯āĻŧāĻžāĻ‡āĻĢāĻžāĻ‡ āĻ¨ā§‡āĻŸāĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡āĻ° (āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡) āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻ•ā§€?
āĻ¸ā§‡āĻŸāĻŋāĻ‚āĻ¸)? āĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻ˛ā§‡āĻ¸ āĻ¨ā§‹āĻĄāĻ—ā§āĻ˛āĻŋ āĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻ†āĻ—ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ā§‡ āĻ•āĻ¤ āĻĻā§‚āĻ°ā§‡ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¯ā§‹āĻ—ā§āĻ¯āĻ­āĻžāĻŦā§‡ āĻ¯ā§‹āĻ—āĻžāĻ¯ā§‹āĻ— āĻ•āĻ°āĻŦā§‡āĻ¨?''

āĻšāĻžāĻ‡āĻĒā§‹āĻĨāĻŋāĻ¸āĻŋāĻ¸: āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻœā§€āĻŦāĻ¨ā§‡āĻ° āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻœā§āĻžāĻžāĻ¨ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡, āĻ¨ā§‹āĻĄāĻ—ā§āĻ˛āĻŋ āĻ¯ā§‹āĻ—āĻžāĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤
āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻ¸āĻ™ā§āĻ—āĻ¤āĻ­āĻžāĻŦā§‡ āĻ…āĻ¨ā§āĻ¤āĻ¤ 100 āĻŽāĻŋ āĻĻā§‚āĻ°ā§‡āĨ¤ 200 āĻŽāĻŋāĻŸāĻžāĻ°ā§‡āĻ° āĻŦā§‡āĻļāĻŋ āĻ¯ā§‹āĻ—āĻžāĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ¨āĻ¯āĻŧ
āĻ¸āĻŽā§āĻ­āĻžāĻŦā§āĻ¯.

āĻ¯āĻĻāĻŋāĻ“ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ—ā§‡ āĻ–ā§āĻŦ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĒā§āĻ°āĻļā§āĻ¨ āĻ¨āĻ¯āĻŧ, āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻ¸āĻŽā§āĻĒāĻ¤ā§āĻ¤āĻŋ
āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻžāĻ°āĻĻā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻŽā§ŒāĻ˛āĻŋāĻ• āĻŦā§‹āĻāĻžāĻĒāĻĄāĻŧāĻž āĻĨāĻžāĻ•āĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤ āĻāĻŸāĻŋāĻ“ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ
āĻ˛āĻžāĻ‡āĻ­ āĻšāĻžāĻ°ā§āĻĄāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ‰āĻĒāĻ° āĻ•āĻ°āĻž āĻ…āĻ§ā§āĻ¯āĻ¯āĻŧāĻ¨.

āĻŦā§āĻ¯āĻžāĻœ āĻ•āĻžāĻ°ā§āĻ¯āĻ•ā§āĻ°āĻŽ
āĻāĻ‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻŸāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻœāĻŋāĻ¨āĻŋāĻ¸āĻŸāĻŋ āĻšāĻ˛ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž
āĻ•āĻžāĻ°ā§āĻ¯āĻ•ā§āĻ°āĻŽ. āĻāĻ‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§‹āĻĄ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§‡ example/stats/wifi-example-sim.cc.
āĻāĻŸāĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻĒāĻĻāĻ•ā§āĻˇā§‡āĻĒāĻ—ā§āĻ˛āĻŋ āĻ•āĻ°ā§‡āĨ¤

¡ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻ˜ā§‹āĻˇāĻŖāĻž āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻ‡āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĒāĻžāĻ°ā§āĻ¸ āĻ•āĻ°āĻž ns3::āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ‡āĻ¨.

āĻĻā§āĻŦāĻŋāĻ—ā§āĻŖ āĻĻā§‚āĻ°āĻ¤ā§āĻŦ = ā§Ģā§Ļ.ā§Ļ;
āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ ("OMNet++");
āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž ("āĻ“āĻ¯āĻŧāĻžāĻ‡āĻĢāĻžāĻ‡-āĻĻā§‚āĻ°āĻ¤ā§āĻŦ-āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž");
āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻ•ā§ŒāĻļāĻ˛ ("āĻ“āĻ¯āĻŧāĻžāĻ‡āĻĢāĻžāĻ‡-āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ");
āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻ°āĻžāĻ¨āĻ†āĻ‡āĻĄāĻŋ;

āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ‡āĻ¨ cmd;
cmd.AddValue("āĻĻā§‚āĻ°āĻ¤ā§āĻŦ", "āĻ¨ā§‹āĻĄ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ā§‡āĻ° āĻĻā§‚āĻ°āĻ¤ā§āĻŦ (āĻŽāĻŋāĻŸāĻžāĻ°ā§‡)āĨ¤", āĻĻā§‚āĻ°āĻ¤ā§āĻŦ);
cmd.AddValue("āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻŸ", "āĻĄā§‡āĻŸāĻž āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻŸāĨ¤", āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻŸ);
cmd.AddValue("āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž", "āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻļāĻ¨āĻžāĻ•ā§āĻ¤āĻ•āĻžāĻ°ā§€āĨ¤", āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž);
cmd.AddValue("āĻ•ā§ŒāĻļāĻ˛", "āĻ•ā§ŒāĻļāĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻļāĻ¨āĻžāĻ•ā§āĻ¤āĻ•āĻžāĻ°ā§€āĨ¤", āĻ•ā§ŒāĻļāĻ˛);
cmd.AddValue("āĻ°āĻžāĻ¨", "āĻ°āĻžāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻļāĻ¨āĻžāĻ•ā§āĻ¤āĻ•āĻžāĻ°ā§€āĨ¤", runID);
cmd.Parse (argc, argv);

¡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¨ā§‹āĻĄ āĻāĻŦāĻ‚ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ• āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž ns3::NodeContainer, ns3::āĻ“āĻ¯āĻŧāĻžāĻ‡āĻĢāĻžāĻ‡ āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ°, āĻāĻŦāĻ‚
ns3::InternetStackHelper.

āĻ¨ā§‹āĻĄāĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° āĻ¨ā§‹āĻĄ;
āĻ¨ā§‹āĻĄāĻ¸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨(ā§¨ā§Ļā§§ā§§);

āĻ“āĻ¯āĻŧāĻžāĻ‡āĻĢāĻžāĻ‡ āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ° āĻ“āĻ¯āĻŧāĻžāĻ‡āĻĢāĻžāĻ‡;
wifi.SetMac("ns3::AdhocWifiMac");
wifi.SetPhy("ns3::WifiPhy");
NetDeviceContainer nodeDevices = wifi.Install(nodes);

InternetStackHelper āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ¨ā§‡āĻŸ;
internet.Install(nodes);
Ipv4AddressHelper ipAddrs;
ipAddrs.SetBase("192.168.0.0", "255.255.255.0");
ipAddrs. Assign(nodeDevices);

¡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¨ā§‹āĻĄā§‡āĻ° āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°āĻž ns3::āĻŽā§‹āĻŦāĻŋāĻ˛āĻŋāĻŸāĻŋ āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ°. āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡ āĻ¨ā§‹āĻĄ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻ†āĻ›ā§‡
āĻ—āĻ¤āĻŋāĻļā§€āĻ˛āĻ¤āĻž āĻāĻŦāĻ‚ āĻ¨āĻĄāĻŧāĻžāĻšāĻĄāĻŧāĻž āĻ•āĻ°āĻŦā§‡ āĻ¨āĻž, āĻ¤āĻŦā§‡ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻĻā§‚āĻ°āĻ¤ā§āĻŦāĻ•ā§‡ āĻ†āĻ˛āĻžāĻĻāĻž āĻ•āĻ°ā§‡ āĻ°āĻžāĻ–āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡
āĻāĻŸāĻŋ āĻ•āĻ°āĻžāĻ° āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ‰āĻĒāĻžāĻ¯āĻŧ; āĻāĻŸāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ–āĻžāĻ¨ā§‡ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ ns3::ListPositionAllocator, āĻ¯āĻž āĻ†āĻāĻ•ā§‡
āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĨā§‡āĻ•ā§‡ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¨āĨ¤

āĻ—āĻ¤āĻŋāĻļā§€āĻ˛āĻ¤āĻž āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€ āĻ—āĻ¤āĻŋāĻļā§€āĻ˛āĻ¤āĻž;
Ptr positionAlloc =
āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ ();
positionAlloc->āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨(āĻ­ā§‡āĻ•ā§āĻŸāĻ°(0.0, 0.0, 0.0));
positionAlloc->āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨(āĻ­ā§‡āĻ•ā§āĻŸāĻ°(0.0, āĻĻā§‚āĻ°āĻ¤ā§āĻŦ, 0.0));
mobility.SetPositionAllocator(positionAlloc);
āĻ—āĻ¤āĻŋāĻļā§€āĻ˛āĻ¤āĻž.āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛(āĻ¨ā§‹āĻĄ);

¡ āĻāĻ•āĻŸāĻŋ āĻŸā§āĻ°āĻžāĻĢāĻŋāĻ• āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸāĻ° āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻŸā§āĻ°āĻžāĻĢāĻŋāĻ• āĻ¸āĻŋāĻ™ā§āĻ• āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻžāĨ¤ āĻŽāĻœā§āĻĻ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡ āĻ•āĻžāĻ¸ā§āĻŸāĻŽ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ src/test/test02-apps.(cc|h). āĻāĻ‡āĻ—ā§āĻ˛ā§‹
āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ†āĻšāĻ°āĻŖ āĻ†āĻ›ā§‡, āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻŦā§āĻ¯āĻŦāĻ§āĻžāĻ¨ā§‡ āĻŦā§āĻ¯āĻŦāĻ§āĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻ• āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĨ¤
āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ āĻ†āĻ›ā§‡ āĻ¤āĻžāĻ°āĻž āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŋ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ; āĻāĻ•āĻŸāĻŋ āĻŦāĻĄāĻŧ āĻ¸ā§‡āĻŸ āĻœāĻ¨ā§āĻ¯
ns3::āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ° āĻ•ā§āĻ˛āĻžāĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯-āĻ†āĻ‰āĻŸ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°::āĻ¸ā§‡āĻŸ āĻ˛āĻžāĻ‡āĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨
āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸā§‡āĻ° āĻ—āĻ¨ā§āĻ¤āĻŦā§āĻ¯, āĻāĻ‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡ āĻ¸āĻŽā§āĻĒā§āĻ°āĻšāĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ āĻ¯ā§‡
āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ­āĻžāĻŦā§‡ WiFi āĻāĻ° āĻ•āĻžāĻ°āĻŖā§‡ āĻŦā§āĻ°āĻĄāĻ•āĻžāĻ¸ā§āĻŸ āĻāĻŦāĻ‚ āĻ‡āĻ‰āĻ¨āĻŋāĻ•āĻžāĻ¸ā§āĻŸ āĻĢā§āĻ°ā§‡āĻŽā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ­āĻŋāĻ¨ā§āĻ¨ āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻĨāĻžāĻ•āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ°ā§‡āĻŸ āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛ āĻāĻŦāĻ‚ MAC āĻ°āĻŋāĻŸā§āĻ°āĻžāĻ¨ā§āĻ¸āĻŽāĻŋāĻļāĻ¨ āĻĒāĻ˛āĻŋāĻ¸āĻŋāĨ¤

Ptr āĻ…ā§āĻ¯āĻžāĻĒāĻ¸ā§‹āĻ°ā§āĻ¸ = āĻ¨ā§‹āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸ::GetNode(ā§¨ā§Ļā§§ā§§);
Ptr āĻĒā§āĻ°ā§‡āĻ°āĻ• = CreateObject ();
appSource->AddApplication(āĻĒā§āĻ°ā§‡āĻ°āĻ•);
āĻĒā§āĻ°ā§‡āĻ°āĻ•->āĻļā§āĻ°ā§(āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ(1));

Ptr appSink = āĻ¨ā§‹āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸ::GetNode(ā§¨ā§Ļā§§ā§§);
Ptr āĻ—ā§āĻ°āĻšāĻŖāĻ•āĻžāĻ°ā§€ = CreateObject ();
appSink->AddApplication(āĻ°āĻŋāĻ¸āĻŋāĻ­āĻžāĻ°);
āĻ°āĻŋāĻ¸āĻŋāĻ­āĻžāĻ°->āĻ¸ā§āĻŸāĻžāĻ°ā§āĻŸ(āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ(0));

// āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°:: āĻ¸ā§‡āĻŸ("/āĻ¨ā§‹āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸ/*/āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ˛āĻŋāĻ¸ā§āĻŸ/*/$āĻĒā§āĻ°ā§‡āĻ°āĻ•/āĻ—āĻ¨ā§āĻ¤āĻŦā§āĻ¯",
// Ipv4AddressValue("192.168.0.2"));

¡ āĻ¸āĻ‚āĻ—ā§ƒāĻšā§€āĻ¤ āĻ¤āĻĨā§āĻ¯ āĻāĻŦāĻ‚ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻžāĨ¤ āĻŽā§ŒāĻ˛āĻŋāĻ• āĻĻā§ƒāĻˇā§āĻŸāĻžāĻ¨ā§āĻ¤ āĻšāĻ˛ āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ
ns3::āĻĄā§‡āĻŸāĻž āĻ•āĻžāĻ˛ā§‡āĻ•ā§āĻŸāĻ° āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻāĻ‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ°āĻžāĻ¨ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¤āĻĨā§āĻ¯ āĻ°āĻžāĻ–āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻĨā§‡āĻ•ā§‡
āĻ¯āĻž āĻĒāĻ°ā§āĻ¯āĻŦā§‡āĻ•ā§āĻˇāĻ• āĻāĻŦāĻ‚ āĻ•ā§āĻ¯āĻžāĻ˛āĻ•ā§āĻ˛ā§‡āĻŸāĻ° āĻ†āĻ¸āĻ˛ā§‡ āĻĄā§‡āĻŸāĻž āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖāĻ­āĻžāĻŦā§‡,
āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻ¤āĻĨā§āĻ¯ā§‡ ''āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž'', ''āĻ•ā§ŒāĻļāĻ˛'', ''āĻ‡āĻ¨āĻĒā§āĻŸ'' āĻāĻŦāĻ‚
''āĻ°āĻžāĻ¨''āĨ¤ āĻāĻ—ā§āĻ˛āĻŋ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€āĻ¤ā§‡ āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻŸā§āĻ°āĻžāĻ¯āĻŧāĻžāĻ˛ āĻĨā§‡āĻ•ā§‡ āĻĄā§‡āĻŸāĻž āĻ¸āĻ¨āĻžāĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻāĻŦāĻ‚ āĻ¸āĻšāĻœā§‡āĻ‡ āĻ—ā§‹āĻˇā§āĻ ā§€āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧāĨ¤

¡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻ˛ āĻ¸ā§‡āĻ‡ āĻ…āĻ§ā§āĻ¯āĻ¯āĻŧāĻ¨ āĻ¯āĻžāĻ° āĻāĻ‡ āĻŸā§āĻ°āĻžāĻ¯āĻŧāĻžāĻ˛āĻŸāĻŋ āĻ¸āĻĻāĻ¸ā§āĻ¯āĨ¤ āĻāĻ–āĻžāĻ¨ā§‡ āĻāĻŸāĻŋ WiFi-āĻ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡
āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻāĻŦāĻ‚ āĻĻā§‚āĻ°āĻ¤ā§āĻŦāĨ¤

āĻ•ā§ŒāĻļāĻ˛ āĻšāĻ˛ āĻāĻ‡ āĻŸā§āĻ°āĻžāĻ¯āĻŧāĻžāĻ˛ā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻž āĻ•ā§‹āĻĄ āĻŦāĻž āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°āĨ¤ āĻāĻ‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡
āĻāĻŸāĻŋ āĻ¸ā§āĻĨāĻŋāĻ°, āĻ¤āĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ āĻšāĻŦā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ“āĻ¯āĻŧāĻžāĻ‡āĻĢāĻžāĻ‡ āĻŦāĻŋāĻŸ āĻ¤āĻĻāĻ¨ā§āĻ¤ āĻ•āĻ°āĻž
āĻšāĻžāĻ°, āĻ¯āĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ­āĻŋāĻ¨ā§āĻ¨ āĻ•ā§ŒāĻļāĻ˛ āĻšāĻŦā§‡āĨ¤

¡ āĻ‡āĻ¨āĻĒā§āĻŸ āĻšāĻ˛ āĻāĻ‡ āĻŸā§āĻ°āĻžāĻ¯āĻŧāĻžāĻ˛ā§‡ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻŦāĻŋāĻļā§‡āĻˇ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĨ¤ āĻāĻ–āĻžāĻ¨ā§‡ āĻāĻŸāĻž āĻ¸āĻšāĻœāĻ­āĻžāĻŦā§‡
āĻĻā§āĻŸāĻŋ āĻ¨ā§‹āĻĄā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĻā§‚āĻ°āĻ¤ā§āĻŦāĨ¤

¡ āĻ°āĻžāĻ¨āĻ†āĻ‡āĻĄāĻŋ āĻāĻ‡ āĻŸā§āĻ°āĻžāĻ¯āĻŧāĻžāĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨āĻ¨ā§āĻ¯ āĻļāĻ¨āĻžāĻ•ā§āĻ¤āĻ•āĻžāĻ°ā§€ āĻ¯āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻŸāĻŋāĻ° āĻ¤āĻĨā§āĻ¯ āĻŸā§āĻ¯āĻžāĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖā§‡ āĻ¸āĻ¨āĻžāĻ•ā§āĻ¤āĻ•āĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯āĨ¤ āĻ¯āĻĻāĻŋ āĻ•ā§‹āĻ¨ āĻ°āĻžāĻ¨ āĻ†āĻ‡āĻĄāĻŋ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻ¨āĻž āĻšāĻ¯āĻŧ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡
āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ¸āĻŽāĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ (āĻĻā§āĻ°ā§āĻŦāĻ˛) āĻ°āĻžāĻ¨ āĻ†āĻ‡āĻĄāĻŋāĨ¤

āĻŽā§‡āĻŸāĻžāĻĄā§‡āĻŸāĻž āĻāĻ‡ āĻšāĻžāĻ° āĻŸā§āĻ•āĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻ°ā§‹ āĻ•āĻžāĻ™ā§āĻ•ā§āĻˇāĻŋāĻ¤ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡. āĻ¤āĻžāĻ°āĻž āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ°ā§‡āĻ•āĻ°ā§āĻĄ āĻ•āĻ°āĻ¤ā§‡ ns3::Data Collector::AddMetadata() āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĨ¤

āĻĄā§‡āĻŸāĻž āĻ•āĻžāĻ˛ā§‡āĻ•ā§āĻŸāĻ° āĻĄā§‡āĻŸāĻž;
data.DescribeRun(āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž, āĻ•ā§ŒāĻļāĻ˛, āĻ‡āĻ¨āĻĒā§āĻŸ, āĻ°āĻžāĻ¨āĻ†āĻ‡āĻĄāĻŋ);
āĻĄā§‡āĻŸāĻžāĨ¤āĻŽā§‡āĻŸāĻžāĻĄāĻžāĻŸāĻž āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨("āĻ˛ā§‡āĻ–āĻ•", "āĻ¤āĻœāĻ•ā§‹āĻĒā§‡āĻ¨āĻž");

āĻĒā§āĻ°āĻ•ā§ƒāĻ¤ āĻĒāĻ°ā§āĻ¯āĻŦā§‡āĻ•ā§āĻˇāĻŖ āĻāĻŦāĻ‚ āĻ—āĻŖāĻ¨āĻž āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ ns3::āĻĄā§‡āĻŸāĻž āĻ•ā§āĻ¯āĻžāĻ˛āĻ•ā§āĻ˛ā§‡āĻŸāĻ° āĻŦāĻ¸ā§āĻ¤ā§, āĻ¯āĻž
āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨āĨ¤ āĻāĻ‡ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤
āĻ°āĻŋāĻĒā§‹āĻ°ā§āĻŸāĻŋāĻ‚ āĻŦāĻž āĻ¨āĻŽā§āĻ¨āĻž āĻ•ā§‹āĻĄ, āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ° āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŋāĻ¤ ns3::āĻĄā§‡āĻŸāĻž āĻ•āĻžāĻ˛ā§‡āĻ•ā§āĻŸāĻ° āĻ¤āĻžāĻ‡ āĻ¤āĻžāĻ°āĻž āĻ•āĻ°āĻŦā§‡
āĻ¤āĻžāĻĻā§‡āĻ° āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻœāĻ¨ā§āĻ¯ āĻĒāĻ°ā§‡ āĻœāĻŋāĻœā§āĻžāĻžāĻ¸āĻž āĻ•āĻ°āĻž āĻšāĻŦā§‡. āĻāĻ•āĻŸāĻŋ āĻ¸āĻšāĻœ āĻĒāĻ°ā§āĻ¯āĻŦā§‡āĻ•ā§āĻˇāĻŖ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸ā§‹āĻ°ā§āĻ¸, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ ns-3 āĻ•ā§‹āĻ°ā§‡ āĻŦāĻ¸ā§āĻ¤ā§āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ¨āĻž āĻ•āĻ°ā§‡āĻ‡ āĻ‡āĻ¨āĻ¸ā§āĻŸā§āĻ°ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻ•āĻ°āĻž
āĻ•ā§‹āĻĄ āĻāĻ–āĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻ•āĻžāĻ‰āĻ¨ā§āĻŸāĻžāĻ° āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ“āĻ¯āĻŧāĻžāĻ‡āĻĢāĻžāĻ‡ MAC āĻ¸ā§āĻ¤āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻŸā§āĻ°ā§‡āĻ¸ āĻ¸āĻŋāĻ—āĻ¨ā§āĻ¯āĻžāĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻĨāĻžāĻ•ā§‡
āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ¨ā§‹āĻĄāĨ¤

Ptr totalRx = CreateObject ();
totalRx->SetKey("wifi-rx-frames");
āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°::āĻ•āĻžāĻ¨ā§‡āĻ•ā§āĻŸ("/NodeList/1/DeviceList/*/$ns3::WifiNetDevice/Rx",
MakeCallback(&PacketCounterCalculator::FrameUpdate, totalRx));
data.AddDataCalculator(totalRx);

āĻ•ā§āĻ¯āĻžāĻ˛āĻ•ā§āĻ˛ā§‡āĻŸāĻ° āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĒā§āĻ˛ā§‡āĻŸ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻ‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡, āĻāĻ•āĻŸāĻŋ āĻ•āĻžāĻ‰āĻ¨ā§āĻŸāĻžāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚
āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻšāĻ˛ā§‡ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŸā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻ• āĻ¸āĻŋāĻ™ā§āĻ• āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ā§‡ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

Ptr > appRx = CreateObject >();
appRx->SetKey("āĻ°āĻŋāĻ¸āĻŋāĻ­āĻžāĻ°-āĻ†āĻ°āĻāĻ•ā§āĻ¸-āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ");
āĻ°āĻŋāĻ¸āĻŋāĻ­āĻžāĻ°->āĻ¸ā§‡āĻŸ āĻ•āĻžāĻ‰āĻ¨ā§āĻŸāĻžāĻ°(āĻ…ā§āĻ¯āĻžāĻĒāĻ†āĻ°āĻāĻ•ā§āĻ¸);
data.AddDataCalculator(appRx);

āĻ—āĻŖāĻ¨āĻž āĻŦāĻžāĻĄāĻŧāĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯, āĻ¸āĻŋāĻ™ā§āĻ•ā§‡āĻ° āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻŋāĻ‚ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻ•āĻŸāĻŋāĻ•ā§‡ āĻ•āĻ˛ āĻ•āĻ°ā§‡
āĻ•ā§āĻ¯āĻžāĻ˛āĻ•ā§āĻ˛ā§‡āĻŸāĻ°ā§‡āĻ° āĻ†āĻĒāĻĄā§‡āĻŸ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĨ¤

m_calc->āĻ†āĻĒāĻĄā§‡āĻŸ();

āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŸāĻŋāĻ¤ā§‡ āĻ†āĻĻāĻŋāĻŽ āĻ‰āĻ­āĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ†āĻ°āĻ“ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡
āĻ•ā§āĻ¯āĻžāĻ˛āĻ•ā§āĻ˛ā§‡āĻŸāĻ° āĻ¯ā§‡āĻŽāĻ¨ ns3::āĻ•āĻžāĻ‰āĻ¨ā§āĻŸāĻžāĻ° āĻ•ā§āĻ¯āĻžāĻ˛āĻ•ā§āĻ˛ā§‡āĻŸāĻ° āĻāĻŦāĻ‚ āĻ¯āĻžāĻ°āĻž āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻāĻŦāĻ‚ āĻĒāĻ°ā§āĻ¯āĻŦā§‡āĻ•ā§āĻˇāĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ­āĻŋāĻ¯ā§‹āĻœāĻŋāĻ¤
āĻŦāĻžāĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ src/test/test02-apps.(cc|h) āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ•āĻžāĻ¸ā§āĻŸāĻŽ āĻŸā§āĻ¯āĻžāĻ— āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡ āĻ¯āĻž āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡
āĻ‰āĻ¤ā§āĻĒāĻ¨ā§āĻ¨ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻļā§‡āĻˇ āĻĨā§‡āĻ•ā§‡ āĻļā§‡āĻˇ āĻŦāĻŋāĻ˛āĻŽā§āĻŦ āĻŸā§āĻ°ā§āĻ¯āĻžāĻ• āĻ•āĻ°āĻ¤ā§‡, āĻāĻ•āĻŸāĻŋ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ°āĻŋāĻĒā§‹āĻ°ā§āĻŸāĻŋāĻ‚
ns3::TimeMinMaxAvgTotalCalculator āĻĄā§‡āĻŸāĻž āĻ•ā§āĻ¯āĻžāĻ˛āĻ•ā§āĻ˛ā§‡āĻŸāĻ°āĨ¤

¡ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹, āĻ¯āĻž āĻāĻ•āĻŦāĻžāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ˛ā§‡ āĻ–ā§āĻŦ āĻ¸ā§‹āĻœāĻžāĨ¤

āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°::āĻ°āĻžāĻ¨();

¡ āĻšāĻ¯āĻŧ āĻ‰ā§ŽāĻĒāĻ¨ā§āĻ¨ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ OMNet++ or SQLite āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻ‡āĻ¨ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡ āĻ†āĻ‰āĻŸāĻĒā§āĻŸāĨ¤ āĻĒā§āĻ°āĻ¤āĻŋ
āĻāĻŸāĻž āĻ•āĻ° a ns3::āĻĄā§‡āĻŸāĻžāĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻāĻŦāĻ‚ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĒā§āĻ°āĻ•āĻžāĻ°
āĻāĻ° āĻĨā§‡āĻ•ā§‡ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤ āĻāĻ‡ āĻŦāĻ¸ā§āĻ¤ā§ āĻ¤āĻžāĻ°āĻĒāĻ° āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧ
ns3::āĻĄā§‡āĻŸāĻž āĻ•āĻžāĻ˛ā§‡āĻ•ā§āĻŸāĻ° āĻŦāĻ¸ā§āĻ¤ā§ āĻ¯āĻž āĻāĻŸāĻŋ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ‰āĻ¤ā§āĻĒāĻžāĻĻāĻ¨ āĻœāĻŋāĻœā§āĻžāĻžāĻ¸āĻž.

Ptr āĻ†āĻ‰āĻŸāĻĒā§āĻŸ
āĻ¯āĻĻāĻŋ (āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻŸ == "OMNet++") {
NS_LOG_INFO("OMNet++ āĻĢāĻ°ā§āĻŽā§āĻ¯āĻžāĻŸā§‡āĻĄ āĻĄā§‡āĻŸāĻž āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡āĨ¤");
output = CreateObject ();
} āĻ…āĻ¨ā§āĻ¯ {
# ifdef STAT_USE_DB
NS_LOG_INFO("SQLite āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻŸā§‡āĻĄ āĻĄā§‡āĻŸāĻž āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡āĨ¤");
output = CreateObject ();
# āĻ¯āĻĻāĻŋ āĻļā§‡āĻˇ
}

āĻ†āĻ‰āĻŸāĻĒā§āĻŸ->āĻ†āĻ‰āĻŸāĻĒā§āĻŸ(āĻĄā§‡āĻŸāĻž);

¡ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻ•ā§‹āĻ¨ā§‹ āĻŽā§‡āĻŽāĻ°āĻŋ āĻŽā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻžāĨ¤ āĻāĻŸāĻŋ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻļā§‡āĻˇā§‡ āĻ†āĻ¸āĻž āĻ‰āĻšāĻŋāĻ¤
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĢāĻžāĻ‚āĻļāĻ¨āĨ¤

āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°::āĻ§ā§āĻŦāĻ‚āĻ¸();

āĻ˛āĻ—āĻŋāĻ‚
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ, āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨, āĻāĻŦāĻ‚ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸ āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤āĻ­āĻžāĻŦā§‡ āĻ•āĻŋ āĻ•āĻ°āĻ›ā§‡ āĻ¤āĻž āĻĻā§‡āĻ–āĻ¤ā§‡, āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨
āĻĻā§āĻ¯ NS_LOG āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛āĨ¤ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ¸āĻŦ āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ°āĻšā§āĻ° āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻŦā§‡
āĻ¤āĻŋāĻ¨.

$export NS_LOG=WiFiDistanceExperiment:WiFiDistanceApps

āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ āĻ¯ā§‡ āĻāĻŸāĻŋ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨āĻŸāĻŋāĻ•ā§‡ āĻ…āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ­āĻžāĻŦā§‡ āĻ§ā§€āĻ° āĻ•āĻ°ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤

āĻ¨āĻŽā§āĻ¨āĻž āĻ†āĻ‰āĻŸāĻĒā§āĻŸ
āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻ¸āĻšāĻœāĻ­āĻžāĻŦā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻŦā§‡ OMNet++ āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻŸ āĻ•āĻ°āĻž āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¯ā§‡āĻŽāĻ¨
āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĨā§‡āĻ•ā§‡ data.sca.

āĻ°āĻžāĻ¨ āĻ°āĻžāĻ¨-1212239121

attr āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž "āĻ“āĻ¯āĻŧāĻžāĻ‡āĻĢāĻžāĻ‡-āĻĻā§‚āĻ°āĻ¤ā§āĻŦ-āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž"
attr āĻ•ā§ŒāĻļāĻ˛ "āĻ“āĻ¯āĻŧāĻžāĻ‡āĻĢāĻžāĻ‡-āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ"
attr āĻ‡āĻ¨āĻĒā§āĻŸ "50"
attr āĻŦāĻ°ā§āĻŖāĻ¨āĻž ""

attr "āĻ˛ā§‡āĻ–āĻ•" "tjkopena"

āĻ¸ā§āĻ•ā§‡āĻ˛āĻžāĻ° āĻ“āĻ¯āĻŧāĻžāĻ‡āĻĢāĻžāĻ‡-āĻŸāĻŋāĻāĻ•ā§āĻ¸-āĻĢā§āĻ°ā§‡āĻŽ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž 30
āĻ¸ā§āĻ•ā§‡āĻ˛āĻžāĻ° āĻ“āĻ¯āĻŧāĻžāĻ‡āĻĢāĻžāĻ‡-āĻ†āĻ°āĻāĻ•ā§āĻ¸-āĻĢā§āĻ°ā§‡āĻŽ āĻ—āĻŖāĻ¨āĻž 30
āĻ¸ā§āĻ•ā§‡āĻ˛āĻžāĻ° āĻ¸ā§‡āĻ¨ā§āĻĄāĻžāĻ°-āĻŸāĻŋāĻāĻ•ā§āĻ¸-āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž 30
āĻ¸ā§āĻ•ā§‡āĻ˛āĻžāĻ° āĻ°āĻŋāĻ¸āĻŋāĻ­āĻžāĻ°-āĻ†āĻ°āĻāĻ•ā§āĻ¸-āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž 30
āĻ¸ā§āĻ•ā§‡āĻ˛āĻžāĻ° tx-pkt-āĻ†āĻ•āĻžāĻ° āĻ—āĻŖāĻ¨āĻž 30
āĻ¸ā§āĻ•ā§‡āĻ˛āĻžāĻ° tx-pkt-āĻ†āĻ•āĻžāĻ° āĻŽā§‹āĻŸ 1920
āĻ¸ā§āĻ•ā§‡āĻ˛āĻžāĻ° tx-pkt-āĻ†āĻ•āĻžāĻ° āĻ—āĻĄāĻŧ 64
āĻ¸ā§āĻ•ā§‡āĻ˛āĻžāĻ° tx-pkt-āĻ†āĻ•āĻžāĻ° āĻ¸āĻ°ā§āĻŦā§‹āĻšā§āĻš 64
āĻ¸ā§āĻ•ā§‡āĻ˛āĻžāĻ° tx-pkt-āĻ†āĻ•āĻžāĻ° āĻŽāĻŋāĻ¨ 64
āĻ¸ā§āĻ•ā§‡āĻ˛āĻžāĻ° āĻŦāĻŋāĻ˛āĻŽā§āĻŦ āĻ—āĻŖāĻ¨āĻž 30
āĻ¸ā§āĻ•ā§‡āĻ˛āĻžāĻ° āĻŦāĻŋāĻ˛āĻŽā§āĻŦ āĻŽā§‹āĻŸ 5884980ns
āĻ¸ā§āĻ•ā§‡āĻ˛āĻžāĻ° āĻŦāĻŋāĻ˛āĻŽā§āĻŦ āĻ—āĻĄāĻŧ 196166ns
āĻ¸ā§āĻ•ā§‡āĻ˛āĻžāĻ° āĻŦāĻŋāĻ˛āĻŽā§āĻŦ āĻ¸āĻ°ā§āĻŦā§‹āĻšā§āĻš 196166ns
āĻ¸ā§āĻ•ā§‡āĻ˛āĻžāĻ° āĻŦāĻŋāĻ˛āĻŽā§āĻŦ āĻŽāĻŋāĻ¨āĻŋāĻŸ 196166ns

āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ˛āĻŋāĻĒāĻŋ
āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ‡āĻ¨āĻĒā§āĻŸ (āĻĻā§‚āĻ°āĻ¤ā§āĻŦ) āĻ āĻ¤āĻĨā§āĻ¯ āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŦā§āĻ¯āĻžāĻļ
āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻŋāĻ°āĻŋāĻœ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻāĻŸāĻž āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§‡
example/stats/wifi-example-db.sh. āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻĨā§‡āĻ•ā§‡ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻŦā§‹āĻāĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ/āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨/
āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ.

āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻĻā§‚āĻ°āĻ¤ā§āĻŦ āĻāĻ•āĻŸāĻŋ āĻ¸ā§‡āĻŸ āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¸āĻžā§āĻšāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧ, āĻāĻ•āĻŸāĻŋ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ¸āĻ‚āĻ—ā§āĻ°āĻš SQLite
āĻ¤āĻĨā§āĻ¯āĻļāĻžāĻ˛āĻž. āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĻā§‚āĻ°āĻ¤ā§āĻŦā§‡ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤ āĻāĻ•āĻŸāĻŋ āĻ­āĻžāĻ˛ āĻ›āĻŦāĻŋ āĻĻā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻžāĻāĻšāĻŸāĻŋ āĻŸā§āĻ°āĻžāĻ¯āĻŧāĻžāĻ˛ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧ
āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž. āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻŸāĻŋ āĻ¨āĻŋāĻŽā§āĻ¨ āĻĒā§āĻ°āĻžāĻ¨ā§āĻ¤ā§‡ āĻšāĻ˛āĻ¤ā§‡ āĻŽāĻžāĻ¤ā§āĻ° āĻ•āĻ¯āĻŧā§‡āĻ• āĻĄāĻœāĻ¨ āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ āĻ¸āĻŽāĻ¯āĻŧ āĻ¨ā§‡āĻ¯āĻŧ
āĻŽā§‡āĻļāĻŋāĻ¨ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ•ā§‹āĻ¨ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¨ā§‡āĻ‡ āĻāĻŦāĻ‚ āĻ¸āĻžāĻŽāĻžāĻ¨ā§āĻ¯ āĻŸā§āĻ°āĻžāĻĢāĻŋāĻ• āĻ¤ā§ˆāĻ°āĻŋ āĻšāĻ¯āĻŧāĨ¤

#!/ āĻŦāĻŋāĻ¨ / SH

DISTANCES="25 50 75 100 125 145 147 150 152 155 157 160 162 165 167 170 172 175 177 180"
āĻŸā§āĻ°āĻžāĻ¯āĻŧāĻžāĻ˛āĻ¸="1 2 3 4 5"

āĻ‡āĻ•ā§‹ āĻ“āĻ¯āĻŧāĻžāĻ‡āĻĢāĻžāĻ‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ

āĻ¯āĻĻāĻŋ [-e data.db]
āĻ¤āĻžāĻ°āĻĒāĻ°
echo Kill data.db?
ANS āĻĒāĻĄāĻŧā§āĻ¨
āĻ¯āĻĻāĻŋ [ "$ANS" = "āĻšā§āĻ¯āĻžāĻ" -o "$ANS" = "y" ]
āĻ¤āĻžāĻ°āĻĒāĻ°
āĻ‡āĻ•ā§‹ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻž āĻšāĻšā§āĻ›ā§‡
rm data.db
fi
fi

$TRIALS-āĻ āĻŸā§āĻ°āĻžāĻ¯āĻŧāĻžāĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯
do
āĻĻā§‚āĻ°āĻ¤ā§āĻŦā§‡āĻ° āĻœāĻ¨ā§āĻ¯ $DISTANCES
do
āĻ‡āĻ•ā§‹ āĻŸā§āĻ°āĻžāĻ¯āĻŧāĻžāĻ˛ $āĻŸā§āĻ°āĻžāĻ¯āĻŧāĻžāĻ˛, āĻĻā§‚āĻ°āĻ¤ā§āĻŦ $āĻĻā§‚āĻ°āĻ¤ā§āĻŦ
./bin/test02 --format=db --distance=$distance --run=run-$distance-$trial
āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨
āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨

āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖ āĻāĻŦāĻ‚ āĻ‰āĻĒāĻ¸āĻ‚āĻšāĻžāĻ°
āĻāĻ•āĻŦāĻžāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŸā§āĻ°āĻžāĻ¯āĻŧāĻžāĻ˛ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡ āĻ—ā§‡āĻ˛ā§‡, āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ SQL āĻ•ā§‹āĻ¯āĻŧā§‡āĻ°āĻŋ āĻšāĻžāĻ˛āĻžāĻ¯āĻŧ
āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ SQLite āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻ‡āĻ¨ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĨ¤ āĻ•ā§āĻ¯ā§‹āĻ¯āĻŧāĻžāĻ°ā§€ āĻ—āĻĄāĻŧ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻ•ā§āĻˇāĻ¤āĻŋāĻ° āĻšāĻŋāĻ¸āĻžāĻŦ āĻ•āĻ°ā§‡
āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĻā§‚āĻ°āĻ¤ā§āĻŦā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¸ā§‡āĻŸāĨ¤ āĻāĻŸāĻž āĻ­āĻŋāĻ¨ā§āĻ¨ āĻāĻ•āĻžāĻ‰āĻ¨ā§āĻŸā§‡ āĻ¨āĻŋāĻ¤ā§‡ āĻ¨āĻž
āĻ•ā§ŒāĻļāĻ˛, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¤āĻĨā§āĻ¯ āĻ•āĻŋāĻ›ā§ āĻ¸āĻšāĻœ āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻ¯āĻŧ
āĻāĻŦāĻ‚ āĻ¤āĻžāĻ‡ āĻ•āĻ°ā§āĻ¨ āĻ¸āĻ‚āĻ—ā§ƒāĻšā§€āĻ¤ āĻĄā§‡āĻŸāĻž āĻ—ā§āĻ°āĻžāĻĢāĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯ GNUPlot-āĻ āĻĒāĻžāĻ āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧāĨ¤

CMD="select exp.input,avg(100-((rx.value*100)/tx.value)) \
Singletons rx, Singleton tx, Experiments exp \ āĻĨā§‡āĻ•ā§‡
āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ rx.run = tx.run AND \
rx.run = exp.run āĻāĻŦāĻ‚ \
rx.name='receiver-rx-packets' āĻāĻŦāĻ‚ \
tx.name='sender-tx-packets' \
exp.input āĻĻā§āĻŦāĻžāĻ°āĻž āĻ—ā§āĻ°ā§āĻĒ
abs(exp.input) ASC āĻĻā§āĻŦāĻžāĻ°āĻž āĻ…āĻ°ā§āĻĄāĻžāĻ° āĻ•āĻ°ā§āĻ¨;"

sqlite3 -noheader data.db "$CMD" > wifi-default.data
sed -i "s/|//" wifi-default.data
gnuplot wifi-example.gnuplot

GNUPlot āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻāĻ–āĻžāĻ¨ā§‡ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ—ā§‡āĻ›ā§‡ example/stats/wifi-example.gnuplot āĻ¸āĻšāĻœāĻ­āĻžāĻŦā§‡ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°ā§‡
āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻāĻŦāĻ‚ āĻ—ā§āĻ°āĻžāĻĢā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻŋāĻ›ā§ āĻŽā§ŒāĻ˛āĻŋāĻ• āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸āĨ¤

āĻ¸ā§‡āĻŸ āĻŸāĻžāĻ°ā§āĻŽāĻŋāĻ¨āĻžāĻ˛ āĻĒā§‹āĻ¸ā§āĻŸāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻĒā§āĻ°āĻ¤āĻŋāĻ•ā§ƒāĻ¤āĻŋ āĻ‰āĻ¨ā§āĻ¨āĻ¤ lw 2 "Helvetica" 14

āĻ¸ā§‡āĻŸ āĻ†āĻ•āĻžāĻ° 1.0, 0.66

#------------------------------------------------ ------
"wifi-default.eps" āĻ¸ā§‡āĻŸ āĻ†āĻ‰āĻŸ
# āĻ¸ā§‡āĻŸ āĻļāĻŋāĻ°ā§‹āĻ¨āĻžāĻŽ "āĻĻā§‚āĻ°āĻ¤ā§āĻŦā§‡āĻ° āĻ‰āĻĒāĻ° āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻ˛āĻ¸"
x āĻ˛ā§‡āĻŦā§‡āĻ˛ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨ "āĻĻā§‚āĻ°āĻ¤ā§āĻŦ (āĻŽāĻŋ) --- āĻĒā§āĻ°āĻ¤āĻŋ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸā§‡ 5 āĻŸā§āĻ°āĻžāĻ¯āĻŧāĻžāĻ˛ā§‡āĻ° āĻ—āĻĄāĻŧ"
āĻ¸ā§‡āĻŸ x āĻ°ā§‡āĻžā§āĻœ [0:200]
āĻ‡āĻ˛ā§‡āĻŦā§‡āĻ˛ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨ "% āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻ˛āĻ¸"
āĻ¸ā§‡āĻŸ āĻ‡āĻ°ā§‡āĻžā§āĻœ [0:110]

āĻ˛āĻžāĻ‡āĻ¨ āĻļāĻŋāĻ°ā§‹āĻ¨āĻžāĻŽ "āĻ“āĻ¯āĻŧāĻžāĻ‡āĻĢāĻžāĻ‡ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ¸" āĻ¸āĻš āĻĒā§āĻ˛āĻŸ "wifi-default.data"

āĻļā§‡āĻˇ āĻĢāĻ˛
āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ āĻ—ā§āĻ°āĻžāĻĢāĻŸāĻŋ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻ“āĻ¯āĻŧāĻžāĻ‡āĻĢāĻžāĻ‡ āĻŽāĻĄā§‡āĻ˛ā§‡āĻ° āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻžāĻ° āĻ•ā§‹āĻ¨ āĻĒā§āĻ°āĻŽāĻžāĻŖ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻ¨āĻž
āĻ…āĻ—āĻ¤ā§āĻ¯āĻž āĻ…āĻ¯ā§ŒāĻ•ā§āĻ¤āĻŋāĻ• āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¤āĻ¤ āĻāĻ•āĻŸāĻŋ āĻŸā§‹āĻ•ā§‡āĻ¨ āĻŦāĻŋāĻļā§āĻŦāĻ¸ā§āĻ¤āĻ¤āĻž āĻ•āĻŋāĻ›ā§ āĻ†āĻ¸ā§āĻĨāĻž āĻ§āĻžāĻ° āĻĻā§‡āĻ¯āĻŧ
āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻ¤āĻž āĻ†āĻ°āĻ“ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ, āĻāĻ‡ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ¤āĻĻāĻ¨ā§āĻ¤āĻŸāĻŋ āĻ¸āĻ°ā§āĻŦāĻ¤ā§āĻ° āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻ•āĻžāĻ āĻžāĻŽā§‹ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤ āĻ¸āĻĢāĻ˛āĻ¤āĻžāĻ° ! [āĻ›āĻŦāĻŋ]

āĻĒā§āĻ°āĻ•ā§ƒāĻ¤ āĻ¸āĻŽāĻ¯āĻŧ
ns-3 āĻŸā§‡āĻ¸ā§āĻŸāĻŦā§‡āĻĄ āĻāĻŦāĻ‚ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻļāĻŋāĻ¨ āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡ āĻāĻ•ā§€āĻ•āĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻĒā§āĻ°āĻ¤āĻŋ
āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ•ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•ā§€āĻ­ā§‚āĻ¤ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻ¨āĻŋāĻ°ā§āĻ—āĻ¤/āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨, āĻāĻ•āĻŸāĻŋ āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛-āĻŸāĻžāĻ‡āĻŽ āĻļāĻŋāĻĄāĻŋāĻ‰āĻ˛āĻžāĻ°
āĻšāĻžāĻ°ā§āĻĄāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ˜āĻĄāĻŧāĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ˜āĻĄāĻŧāĻŋāĻŸāĻŋ āĻ˛āĻ• āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻž āĻĻāĻ°āĻ•āĻžāĻ°āĨ¤ āĻ†āĻŽāĻ°āĻž āĻāĻ–āĻžāĻ¨ā§‡ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻŋ āĻ•
āĻāĻ° āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨: āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŸāĻžāĻ‡āĻŽ āĻ¸āĻŽāĻ¯āĻŧāĻ¸ā§‚āĻšā§€āĨ¤

āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŸāĻžāĻ‡āĻŽ āĻļāĻŋāĻĄāĻŋāĻ‰āĻ˛āĻžāĻ°ā§‡āĻ° āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ āĻšāĻ˛ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ˜āĻĄāĻŧāĻŋāĻ° āĻ…āĻ—ā§āĻ°āĻ—āĻ¤āĻŋ āĻ˜āĻŸāĻžāĻ¨ā§‹
āĻ•āĻŋāĻ›ā§ āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ• āĻ¸āĻŽāĻ¯āĻŧ āĻŦā§‡āĻ¸ āĻ¸āĻžāĻĒā§‡āĻ•ā§āĻˇā§‡ āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ¸āĻ­āĻžāĻŦā§‡ āĻ˜āĻŸāĻ¤ā§‡. āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻ›āĻžāĻĄāĻŧāĻž
āĻāĻ•āĻŸāĻŋ āĻŦāĻšāĻŋāĻ°āĻžāĻ—āĻ¤ āĻŸāĻžāĻ‡āĻŽ āĻŦā§‡āĻ¸ (āĻ“āĻ¯āĻŧāĻžāĻ˛ āĻ˜āĻĄāĻŧāĻŋ), āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻŸāĻžāĻ‡āĻŽ āĻ¤āĻžā§ŽāĻ•ā§āĻˇāĻŖāĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸā§‡āĻĄ āĻĨā§‡āĻ•ā§‡ āĻ˛āĻžāĻĢ āĻĻā§‡āĻ¯āĻŧ
āĻĒāĻ°ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧāĨ¤

āĻ†āĻšāĻ°āĻŖ
āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¨-āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŸāĻžāĻ‡āĻŽ āĻ¸āĻŽāĻ¯āĻŧāĻ¸ā§‚āĻšā§€ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ (āĻ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ ns-3), āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻ…āĻ—ā§āĻ°āĻ¸āĻ° āĻšāĻ¯āĻŧ
āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸā§‡ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ¸āĻŽāĻ¯āĻŧāĨ¤ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ¸āĻŽāĻ¯āĻŧ āĻšāĻ¯āĻŧ
āĻšāĻŋāĻŽāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŸāĻžāĻ‡āĻŽ āĻļāĻŋāĻĄāĻŋāĻ‰āĻ˛āĻžāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡, āĻ†āĻšāĻ°āĻŖāĻŸāĻŋ āĻĻā§ƒāĻˇā§āĻŸāĻŋāĻ•ā§‹āĻŖ āĻĨā§‡āĻ•ā§‡ āĻ…āĻ¨ā§āĻ°ā§‚āĻĒ
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻŽāĻĄā§‡āĻ˛ (āĻ…āĻ°ā§āĻĨāĻžā§Ž, āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ¸āĻŽāĻ¯āĻŧ āĻšāĻŋāĻŽāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻšāĻ¯āĻŧ), āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡
āĻ˜āĻŸāĻ¨āĻž, āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻŽā§‡āĻļāĻŋāĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻ°āĻŋāĻŦāĻĻā§āĻ§ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ˜āĻĄāĻŧāĻŋ āĻ°āĻžāĻ–āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻŦā§‡
āĻ˜āĻĄāĻŧāĻŋ

āĻ¯āĻ–āĻ¨ āĻāĻ•āĻŸāĻŋ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻž āĻļā§‡āĻˇ āĻšāĻ¯āĻŧ, āĻāĻŦāĻ‚ āĻ¸āĻŽāĻ¯āĻŧāĻ¸ā§‚āĻšā§€ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸā§‡ āĻšāĻ˛ā§‡ āĻ¯āĻžāĻ¯āĻŧ,
āĻļāĻŋāĻĄāĻŋāĻ‰āĻ˛āĻžāĻ° āĻŽā§‡āĻļāĻŋāĻ¨ āĻ˜āĻĄāĻŧāĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¤ā§āĻ˛āĻ¨āĻž āĻ•āĻ°ā§‡āĨ¤ āĻĒāĻ°ā§‡āĻ°āĻŸāĻž āĻšāĻ˛ā§‡
āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸāĻŸāĻŋ āĻ­āĻŦāĻŋāĻˇā§āĻ¯āĻ¤ āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ, āĻ¸ā§‡āĻ‡ āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŸāĻžāĻ‡āĻŽā§‡ āĻ¨āĻž āĻĒā§ŒāĻāĻ›āĻžāĻ¨ā§‹ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻ˜ā§āĻŽāĻžāĻ¯āĻŧ
āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ° āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ˜āĻŸāĻ¨āĻž āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻš āĻ•āĻ°ā§‡āĨ¤

āĻāĻŸāĻŋ āĻ˜āĻŸāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¯ā§‡, āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸāĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ā§‡āĻ° āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ°āĻŖā§‡āĻ° āĻ•āĻžāĻ°āĻŖā§‡,
āĻ¯ā§‡ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŸāĻžāĻ‡āĻŽā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¤āĻžāĻ˛ āĻŽāĻŋāĻ˛āĻŋāĻ¯āĻŧā§‡ āĻšāĻ˛āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¨āĻžāĨ¤ āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡
āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ•āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻĻā§āĻ‡ āĻ†āĻ›ā§‡ ns-3 āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ¯āĻž āĻ†āĻšāĻ°āĻŖ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ•āĻ°ā§‡āĨ¤ āĻĻā§āĻ¯
āĻĒā§āĻ°āĻĨāĻŽ āĻšāĻ¯āĻŧ ns3::RealTimeSimulatorImpl::SynchronizationMode. āĻĻā§āĻŸāĻŋ āĻāĻ¨ā§āĻŸā§āĻ°āĻŋ āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽā§āĻ­āĻŦ
āĻāĻ‡ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻšāĻ¯āĻŧ āĻ¸ā§‡āĻ°āĻž āĻĒā§āĻ°āĻšā§‡āĻˇā§āĻŸāĻž (āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ) āĻŦāĻž āĻšāĻžāĻ°ā§āĻĄāĻ˛āĻŋāĻŽāĻŋāĻŸ. "BestEffort" āĻŽā§‹āĻĄā§‡,
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸāĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻ•āĻ°ā§‡ āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŸāĻžāĻ‡āĻŽā§‡ āĻ§āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻŦā§‡ āĻ¯āĻ¤āĻ•ā§āĻˇāĻŖ āĻ¨āĻž āĻāĻŸāĻŋ a āĻ āĻĒā§ŒāĻāĻ›āĻžāĻ¯āĻŧ
āĻŦāĻŋāĻ¨ā§āĻĻā§ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸāĻŸāĻŋ (āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŸāĻžāĻ‡āĻŽ) āĻ­āĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§‡ āĻšāĻ¯āĻŧ, āĻ…āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻļā§‡āĻˇ āĻšāĻ¯āĻŧāĨ¤ āĻ­āĻŋāĻ¤āĻ°ā§‡
BestEffort āĻŽā§‹āĻĄ, āĻ¤āĻžāĻ°āĻĒāĻ°, āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ā§‡āĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻŦā§‡āĻļāĻŋ āĻ¸āĻŽāĻ¯āĻŧ āĻŦā§āĻ¯āĻ¯āĻŧ āĻ•āĻ°āĻž āĻ¸āĻŽā§āĻ­āĻŦ
āĻĒā§āĻ°āĻžāĻšā§€āĻ° āĻ˜āĻĄāĻŧāĻŋ āĻ¸āĻŽāĻ¯āĻŧāĨ¤ āĻ…āĻ¨ā§āĻ¯ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ "āĻšāĻžāĻ°ā§āĻĄāĻ˛āĻŋāĻŽāĻŋāĻŸ" āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨āĻŸāĻŋ āĻŦāĻžāĻ¤āĻŋāĻ˛ āĻ•āĻ°ā§‡ āĻĻā§‡āĻŦā§‡ āĻ¯āĻĻāĻŋ
āĻ¸āĻšāĻ¨āĻļā§€āĻ˛āĻ¤āĻž āĻĨā§āĻ°ā§‡āĻļāĻšā§‹āĻ˛ā§āĻĄ āĻ…āĻ¤āĻŋāĻ•ā§āĻ°āĻŽ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ. āĻāĻ‡ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻšāĻ˛ ns3::RealTimeSimulatorImpl::Hard Limit
āĻāĻŦāĻ‚ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ 0.1 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄāĨ¤

āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ­āĻŋāĻ¨ā§āĻ¨ āĻŽā§‹āĻĄ āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸā§‡āĻĄ āĻ¸āĻŽāĻ¯āĻŧ āĻ¨āĻž āĻāĻ•āĻŸāĻŋ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻšāĻŋāĻŽāĻžāĻ¯āĻŧāĻŋāĻ¤
āĻŽā§ƒāĻ¤ā§āĻ¯ā§āĻĻāĻ¨ā§āĻĄ āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŸāĻžāĻ‡āĻŽ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ā§‡āĻ° āĻāĻ‡ āĻŽā§‹āĻĄāĻŸāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻ°āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ā§ˇ ns-3 āĻŦā§ƒāĻ•ā§āĻˇ
āĻāĻŸāĻž āĻĻāĻ°āĻ•āĻžāĻ°ā§€ āĻšāĻŦā§‡ āĻ•āĻŋāĻ¨āĻž āĻĒā§āĻ°āĻļā§āĻ¨ā§‡āĻ° āĻ•āĻžāĻ°āĻŖā§‡. āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻ¯āĻĻāĻŋ āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŸāĻžāĻ‡āĻŽā§‡ āĻ†āĻ—ā§āĻ°āĻšā§€ āĻšāĻ¨
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻ¯āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻļāĻ¨ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ¸āĻŽāĻ¯āĻŧ āĻœāĻŽāĻž āĻšāĻ¯āĻŧ āĻ¨āĻž (āĻ¯ā§‡āĻŽāĻ¨, āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ
āĻĄā§‡āĻ•ā§‡ āĻ†āĻ¨ā§‹ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°::āĻāĻ–āĻ¨() āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻĒā§āĻ°āĻžāĻšā§€āĻ° āĻ˜āĻĄāĻŧāĻŋāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĢā§‡āĻ°āĻ¤ āĻĻā§‡āĻ¯āĻŧ, āĻ¯ā§‡ āĻ¸āĻŽāĻ¯āĻŧā§‡ āĻ¨āĻ¯āĻŧ
āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡), āĻ…āĻ¨ā§āĻ—ā§āĻ°āĻš āĻ•āĻ°ā§‡ ns-developers āĻŽā§‡āĻ‡āĻ˛āĻŋāĻ‚ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§‹āĻ—āĻžāĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨āĨ¤

āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°
āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŸāĻžāĻ‡āĻŽ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻŋāĻ‚ āĻĻā§ƒāĻˇā§āĻŸāĻŋāĻ•ā§‹āĻŖ āĻĨā§‡āĻ•ā§‡ āĻ¸ā§‹āĻœāĻžāĨ¤
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻļā§āĻ§ā§ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻ‡āĻŽāĻĒā§āĻ˛āĻŋāĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻŸāĻžāĻ‡āĻĒ āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŸāĻžāĻ‡āĻŽā§‡
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°, āĻ¯ā§‡āĻŽāĻ¨ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§‚āĻĒ:

GlobalValue::Bind ("āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻ‡āĻŽāĻĒā§āĻ˛āĻŋāĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻŸāĻžāĻ‡āĻĒ",
StringValue ("ns3::RealtimeSimulatorImpl"));

āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ†āĻ›ā§‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ/realtime/realtime-udp-echo.cc āĻ¯ā§‡ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ†āĻ›ā§‡
āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŸāĻžāĻ‡āĻŽ āĻ†āĻšāĻ°āĻŖ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°ā§āĻ¨āĨ¤ āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§āĻ¨:

$ ./waf --run āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŸāĻžāĻ‡āĻŽ-āĻ‰āĻĄāĻŋāĻĒāĻŋ-āĻ‡āĻ•ā§‹

āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻ°ā§āĻŦā§‹āĻ¤ā§āĻ¤āĻŽ āĻĒā§āĻ°āĻšā§‡āĻˇā§āĻŸāĻž āĻŦāĻž āĻ•āĻ ā§‹āĻ° āĻ¸ā§€āĻŽāĻž āĻ¨ā§€āĻ¤āĻŋ āĻĢā§āĻ¯āĻžāĻļāĻ¨ā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻŦā§‡ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧā§ˇ
āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§€ āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻž āĻ•āĻ°āĻž āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻĻā§āĻŦāĻžāĻ°āĻž.

āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨
āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:

¡ src/core/model/realtime-simulator-implā§ˇcc,h}

¡ src/core/model/wall-clock-synchronizerā§ˇcc,h}

āĻāĻ•āĻŸāĻŋ āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŸāĻžāĻ‡āĻŽ āĻ¸āĻŽāĻ¯āĻŧāĻ¸ā§‚āĻšā§€ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĨāĻŽ āĻ†āĻ¨ā§āĻŽāĻžāĻ¨āĻŋāĻ• āĻœāĻ¨ā§āĻ¯ āĻ†āĻĒāĻ¨āĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ•āĻžāĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨
āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛ āĻŸāĻžāĻ‡āĻŽ āĻ—ā§āĻ°āĻžāĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻŸāĻžāĻ‡āĻŽ āĻœāĻžāĻŽā§āĻĒ āĻ•āĻ°ā§‡āĨ¤ āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽāĻ¨ā§āĻŦāĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻŸāĻŋ āĻ•āĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦ
āĻ˜ā§āĻŽ- āĻāĻŦāĻ‚ āĻŦā§āĻ¯āĻ¸ā§āĻ¤- āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡āĨ¤ āĻ˜ā§āĻŽ-āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ˛āĻŋāĻ‚ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž (āĻĨā§āĻ°ā§‡āĻĄ) āĻĢāĻ˛āĻ¨ āĻ•āĻžāĻ°āĻŖ
āĻ•āĻŋāĻ›ā§ āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻ°āĨ¤ āĻ¯āĻĻāĻŋāĻ“ āĻāĻ‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻ¸āĻŽāĻ¯āĻŧ āĻĒāĻžāĻ° āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ
āĻ¨ā§āĻ¯āĻžāĻ¨ā§‹āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ āĻ°ā§‡āĻœā§‹āĻ˛āĻŋāĻ‰āĻļāĻ¨ā§‡, āĻāĻŸāĻŋ āĻ†āĻ¸āĻ˛ā§‡ āĻāĻ•āĻŸāĻŋ OS-āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ—ā§āĻ°āĻžāĻ¨ā§āĻ˛āĻžāĻ°āĻŋāĻŸāĻŋāĻ¤ā§‡ āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻ­āĻŋāĻ¤āĻ°ā§‡
āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸, āĻ—ā§āĻ°āĻžāĻ¨ā§āĻ˛āĻžāĻ°āĻŋāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻœāĻŋāĻĢāĻŋ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻ‡ āĻ°ā§‡āĻœā§‹āĻ˛āĻŋāĻ‰āĻļāĻ¨ āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻĒāĻ°ā§āĻ¯āĻžāĻĒā§āĻ¤
āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻšāĻžāĻšāĻŋāĻĻāĻž (āĻĻāĻļ āĻŽāĻŋāĻ˛āĻŋāĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡āĻ° āĻ•ā§āĻ°āĻŽāĻžāĻ¨ā§āĻ¸āĻžāĻ°ā§‡), āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻ°āĻž āĻŦā§ƒāĻ¤ā§āĻ¤āĻžāĻ•āĻžāĻ° āĻ¨āĻŋāĻšā§‡ āĻāĻŦāĻ‚ āĻ•āĻŋāĻ›ā§ āĻœāĻ¨ā§āĻ¯ āĻ˜ā§āĻŽ
āĻœāĻŋāĻĢāĻŋāĻ° āĻ›ā§‹āĻŸ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ° āĻĒāĻ°ā§‡ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋ āĻœāĻžāĻ—ā§āĻ°āĻ¤ āĻšāĻ¯āĻŧ
āĻœāĻŋāĻĢāĻŋāĻ¸ āĻ•ā§‡āĻŸā§‡ āĻ—ā§‡āĻ›ā§‡āĨ¤ āĻāĻ‡ āĻ¸āĻŽāĻ¯āĻŧā§‡, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻŋāĻ›ā§ āĻ…āĻŦāĻļāĻŋāĻˇā§āĻŸ āĻ¸āĻŽāĻ¯āĻŧ āĻ†āĻ›ā§‡āĨ¤ āĻāĻ‡ āĻ¸āĻŽāĻ¯āĻŧ āĻšāĻ¯āĻŧ
āĻ¨ā§āĻ¯ā§‚āĻ¨āĻ¤āĻŽ āĻ˜ā§āĻŽā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ›ā§‹āĻŸ, āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻ°āĻž āĻŦā§āĻ¯āĻ¸ā§āĻ¤-āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻŋ āĻŦāĻžāĻ•āĻŋ āĻ˜ā§āĻŽā§‡āĻ° āĻœāĻ¨ā§āĻ¯
āĻ¸āĻŽāĻ¯āĻŧ āĻāĻ° āĻŽāĻžāĻ¨ā§‡ āĻšāĻ˛ āĻ¯ā§‡ āĻĨā§āĻ°ā§‡āĻĄāĻŸāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ āĻ˛ā§āĻĒ āĻ—ā§āĻ°āĻžāĻ¸āĻ•āĻžāĻ°ā§€ āĻšāĻ•ā§āĻ°ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĨāĻžāĻ•ā§‡ āĻ¯āĻ¤āĻ•ā§āĻˇāĻŖ āĻ¨āĻž āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤
āĻ•āĻžāĻ™ā§āĻ•ā§āĻˇāĻŋāĻ¤ āĻ¸āĻŽāĻ¯āĻŧ āĻ†āĻ¸ā§‡āĨ¤ āĻ˜ā§āĻŽ- āĻāĻŦāĻ‚ āĻŦā§āĻ¯āĻ¸ā§āĻ¤-āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻžāĻ° āĻ¸āĻ‚āĻŽāĻŋāĻļā§āĻ°āĻŖā§‡āĻ° āĻĒāĻ°ā§‡, āĻ…āĻ¤āĻŋāĻŦāĻžāĻšāĻŋāĻ¤ āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŸāĻžāĻ‡āĻŽ
(āĻ“āĻ¯āĻŧāĻžāĻ˛) āĻ˜āĻĄāĻŧāĻŋāĻŸāĻŋ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ¸āĻŽāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻŽāĻ¤ āĻšāĻ“āĻ¯āĻŧāĻž āĻ‰āĻšāĻŋāĻ¤
āĻāĻ—āĻŋāĻ¯āĻŧā§‡āĨ¤

āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€
āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧāĻ—ā§āĻ˛āĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ¸āĻžāĻĨā§‡ āĻĒāĻ°āĻŋāĻšāĻ¯āĻŧ āĻ•āĻ°āĻŋāĻ¯āĻŧā§‡ āĻĻāĻŋāĻ¯āĻŧā§‡āĻ›ā§‡ ns-3 āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŋāĻ‚ āĻ§āĻžāĻ°āĻŖāĻž āĻ¯ā§‡āĻŽāĻ¨ āĻ¸ā§āĻŽāĻžāĻ°ā§āĻŸ
āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸-āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻŽā§‡āĻŽāĻ°āĻŋ āĻŽā§āĻ¯āĻžāĻ¨ā§‡āĻœāĻŽā§‡āĻ¨ā§āĻŸ, āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ, āĻ¨ā§‡āĻŽāĻ¸ā§āĻĒā§‡āĻ¸, āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ°āĨ¤
āĻāĻ‡ āĻ¨āĻŋāĻŽā§āĻ¨-āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° API āĻ āĻ•āĻžāĻœ āĻ•āĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻ†āĻ¨ā§āĻ¤āĻƒāĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ ns-3 āĻ¸ā§‚āĻ•ā§āĻˇā§āĻŽ āĻĻāĻžāĻ¨āĻžāĻĻāĻžāĻ° āĻŦāĻ¸ā§āĻ¤ā§āĨ¤
āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ¨āĻŋāĻŽā§āĻ¨-āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° API āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ­āĻžāĻŦā§‡ āĻ˛ā§‡āĻ–āĻž āĻāĻ•āĻŸāĻŋ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻŦā§‡āĻļ āĻĻā§€āĻ°ā§āĻ˜ āĻšāĻŦā§‡
āĻāĻŦāĻ‚ āĻ•ā§‹āĻĄ āĻ•āĻ°āĻ¤ā§‡ āĻ•ā§āĻ˛āĻžāĻ¨ā§āĻ¤āĻŋāĻ•āĻ°āĨ¤ āĻāĻ‡ āĻ•āĻžāĻ°āĻŖā§‡, āĻāĻ•āĻŸāĻŋ āĻĒā§ƒāĻĨāĻ• āĻ¤āĻĨāĻžāĻ•āĻĨāĻŋāĻ¤ "āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ° API" āĻ“āĻ­āĻžāĻ°āĻ˛ā§‡āĻĄ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ā§ˇ
āĻŽā§‚āĻ˛ā§‡ ns-3 API āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻĒāĻĄāĻŧā§‡āĻ›ā§‡āĻ¨ ns-3 āĻŸāĻŋāĻ‰āĻŸā§‹āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛, āĻ†āĻĒāĻ¨āĻŋ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ āĻšāĻŦā§‡
āĻ¸āĻšāĻžāĻ¯āĻŧāĻ• API āĻāĻ° āĻ¸āĻžāĻĨā§‡, āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻāĻŸāĻŋ āĻāĻŽāĻ¨ API āĻ¯āĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ¨āĻ¤ā§āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĒā§āĻ°āĻĨāĻŽ āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤
āĻāĻ‡ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧā§‡, āĻ†āĻŽāĻ°āĻž āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ° āĻāĻĒāĻŋāĻ†āĻ‡-āĻāĻ° āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻĻāĻ°ā§āĻļāĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĒāĻ°āĻŋāĻšāĻ¯āĻŧ āĻ•āĻ°āĻŋāĻ¯āĻŧā§‡ āĻĻāĻŋāĻ‡ āĻāĻŦāĻ‚ āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻŦā§ˆāĻĒāĻ°ā§€āĻ¤ā§āĻ¯
āĻ¨āĻŋāĻŽā§āĻ¨-āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° APIāĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻ­āĻžāĻ°ā§€ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻšāĻ¯āĻŧā§‡ āĻ—ā§‡āĻ˛ā§‡ ns-3, āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻ¸āĻžāĻŽāĻ¨ā§‡ āĻāĻŦāĻ‚ āĻĒāĻŋāĻ›āĻ¨ā§‡ āĻ¸āĻ°āĻžāĻ¨ā§‹ āĻšāĻŦā§‡
āĻāĻŽāĻ¨āĻ•āĻŋ āĻāĻ•āĻ‡ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡ āĻāĻ‡ APIāĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡āĨ¤

āĻ¸āĻšāĻžāĻ¯āĻŧāĻ• API āĻāĻ° āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:

1. āĻŦāĻžāĻ•āĻŋ src / āĻ¸āĻšāĻžāĻ¯āĻŧāĻ• API-āĻāĻ° āĻ‰āĻĒāĻ° āĻ•ā§‹āĻ¨ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻ¨ā§‡āĻ‡; āĻ¯āĻž āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ¸āĻšāĻžāĻ¯āĻŧāĻ• API āĻ¨āĻŋāĻŽā§āĻ¨-āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° API āĻāĻ“ āĻ•ā§‹āĻĄ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡

2. āĻ•āĻ¨ā§āĻŸā§‡āĻ¨āĻžāĻ°āĻ—ā§āĻ˛āĻŋ: āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ‡ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ—ā§‹āĻˇā§āĻ ā§€āĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ…āĻ­āĻŋāĻ¨ā§āĻ¨ āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡
āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ¸āĻšāĻžāĻ¯āĻŧāĻ• API āĻ…āĻ¨ā§āĻ°ā§‚āĻĒ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻĒāĻžāĻ¤ā§āĻ°ā§‡ āĻ­āĻžāĻ°ā§€ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¯āĻžāĻ° āĻ¸āĻžāĻĨā§‡
āĻ…āĻ¨ā§āĻ°ā§‚āĻĒ āĻŦāĻž āĻ…āĻ­āĻŋāĻ¨ā§āĻ¨ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ āĻ¸āĻžā§āĻšāĻžāĻ˛āĻŋāĻ¤ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡.

3. āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ° API āĻœā§‡āĻ¨ā§‡āĻ°āĻŋāĻ• āĻ¨āĻ¯āĻŧ; āĻāĻŸāĻŋ āĻ•ā§‹āĻĄ āĻĒā§āĻ¨āĻƒāĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¸āĻ°ā§āĻŦāĻžāĻ§āĻŋāĻ• āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§‡ āĻ¨āĻžāĨ¤ āĻ¤āĻžāĻ‡,
āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŋāĻ‚ āĻ•āĻ¨āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•ā§āĻŸ āĻ¯ā§‡āĻŽāĻ¨ āĻĒāĻ˛āĻŋāĻŽāĻ°āĻĢāĻŋāĻœāĻŽ āĻāĻŦāĻ‚ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ āĻ¯āĻž āĻ…āĻ°ā§āĻœāĻ¨ āĻ•āĻ°ā§‡ āĻ•ā§‹āĻĄ āĻĒā§āĻ¨āĻƒāĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°
āĻĒā§āĻ°āĻšāĻ˛āĻŋāĻ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¨āĻ¯āĻŧāĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ†āĻ˛āĻžāĻĻāĻž CsmaNetDevice āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€ āĻ†āĻ›ā§‡ āĻāĻŦāĻ‚
PointToPointNetDevice āĻ¸āĻšāĻžāĻ¯āĻŧāĻ• āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¤āĻžāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ NetDevice āĻŦā§‡āĻ¸ āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻšāĻ¯āĻŧ āĻ¨āĻž
āĻŦāĻ°ā§āĻ—.

4. āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ° API āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ•-āĻ…ā§āĻ¯āĻžāĻ˛ā§‹āĻ•ā§‡āĻŸā§‡āĻĄ (āĻŦāĻ¨āĻžāĻŽ āĻšāĻŋāĻĒ-āĻ…ā§āĻ¯āĻžāĻ˛ā§‹āĻ•ā§‡āĻŸā§‡āĻĄ) āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĨ¤ āĻœāĻ¨ā§āĻ¯
āĻ•āĻŋāĻ›ā§ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ, ns-3 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻ•ā§‹āĻ¨ āĻ¨āĻŋāĻŽā§āĻ¨ āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻŦāĻ¸ā§āĻ¤ā§ āĻ¤ā§ˆāĻ°āĻŋ āĻŦāĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻšāĻŋāĻ¨ā§āĻ¤āĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¨āĻž
āĻĒāĻŋāĻŸāĻŋāĻ†āĻ° āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻŋāĻ‚; āĻ¤āĻžāĻ°āĻž āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻĒāĻžāĻ¤ā§āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ•-āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ¯ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻ‰āĻĒāĻ° āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĨ¤

āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ° āĻāĻĒāĻŋāĻ†āĻ‡ āĻ†āĻ¸āĻ˛ā§‡āĻ‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž ns-3 āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻāĻŦāĻ‚ āĻĒāĻĄāĻŧāĻž āĻ¸āĻšāĻœ, āĻ›āĻžāĻĄāĻŧāĻž
āĻ¨āĻŋāĻŽā§āĻ¨-āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ā§‡āĻ° āĻļāĻ•ā§āĻ¤āĻŋ āĻ•ā§‡āĻĄāĻŧā§‡ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻžāĨ¤ āĻāĻ‡ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧā§‡āĻ° āĻŦāĻžāĻ•āĻŋ āĻ•āĻŋāĻ›ā§ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡
āĻ¸āĻšāĻžāĻ¯āĻŧāĻ• API āĻāĻ° āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŋāĻ‚ āĻ•āĻ¨āĻ­ā§‡āĻ¨āĻļāĻ¨ā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĨ¤

āĻŽā§‡āĻ•āĻŋāĻ‚ āĻšāĻ āĻžā§Ž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻĻā§āĻ¯ āĻœā§āĻžāĻžāĻ¨āĻĒā§āĻ˛āĻŸ āĻļā§āĻ°ā§‡āĻŖā§€
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ˛āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ 2āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ ns-3 āĻāĻŦāĻ‚ gnuplot (-
http://www.gnuplot.info):

1. āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ gnuplot āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ ns-3āĻāĻ° Gnuplot āĻ•ā§āĻ˛āĻžāĻ¸āĨ¤

2. āĻĻā§āĻŦāĻžāĻ°āĻž āĻ‰āĻ¤ā§āĻĒāĻ¨ā§āĻ¨ āĻŽāĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ gnuplot āĻĄā§‡āĻŸāĻž āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ ns-3.

āĻāĻ‡ āĻŦāĻŋāĻ­āĻžāĻ—āĻŸāĻŋ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ 1 āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡, āĻ…āĻ°ā§āĻĨāĻžā§Ž āĻāĻŸāĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ˛āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¸ā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ ns-3āĻāĻ° Gnuplot
āĻ•ā§āĻ˛āĻžāĻ¸ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ 2 āĻ āĻ†āĻ—ā§āĻ°āĻšā§€ āĻšāĻ¨, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻāĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ "āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ" āĻ‰āĻĒāĻ§āĻžāĻ°āĻžāĻŸāĻŋ āĻĻā§‡āĻ–ā§āĻ¨
"āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚" āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ ns-3 āĻ…āĻ­āĻŋāĻ­āĻžāĻŦāĻ•āĻ¸āĻ‚āĻŦāĻāĻ§ā§€āĻ¯āĻŧ.

āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ āĻšāĻ āĻžā§Ž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻĻā§āĻ¯ āĻœā§āĻžāĻžāĻ¨āĻĒā§āĻ˛āĻŸ āĻļā§āĻ°ā§‡āĻŖā§€
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ˛āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĒāĻĻāĻ•ā§āĻˇā§‡āĻĒāĻ—ā§āĻ˛āĻŋ āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ ns-3āĻāĻ° Gnuplot āĻ•ā§āĻ˛āĻžāĻ¸:

1. āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•ā§‹āĻĄ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§āĻ¨ āĻ¯āĻžāĻ¤ā§‡ āĻāĻŸāĻŋ Gnuplot āĻ•ā§āĻ˛āĻžāĻ¸ āĻāĻŦāĻ‚ āĻāĻ° āĻĢāĻžāĻ‚āĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤

2. āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•ā§‹āĻĄ āĻšāĻžāĻ˛āĻžāĻ¨ āĻ¯āĻžāĻ¤ā§‡ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ gnuplot āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĨ¤

3. gnuplot āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ āĻĻāĻŋāĻ¯āĻŧā§‡ gnuplot āĻ•ā§‡ āĻ•āĻ˛ āĻ•āĻ°ā§āĻ¨āĨ¤

4. āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻŋāĻ¯āĻŧ āĻ—ā§āĻ°āĻžāĻĢāĻŋāĻ•ā§āĻ¸ āĻ­āĻŋāĻ‰āĻ¯āĻŧāĻžāĻ°ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ—ā§āĻ°āĻžāĻĢāĻŋāĻ•ā§āĻ¸ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻĻā§‡āĻ–ā§āĻ¨āĨ¤

āĻ§āĻžāĻĒ 1-āĻ āĻŦāĻŋāĻļāĻĻ āĻŦāĻŋāĻŦāĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨ā§€āĻšā§‡ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĒā§āĻ˛āĻŸ āĻĨā§‡āĻ•ā§‡ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻĻā§‡āĻ–ā§āĻ¨āĨ¤

An āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ•āĻžāĻ°ā§āĻ¯āĻ•ā§āĻ°āĻŽ āĻ¯ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ¸āĻŽā§‚āĻš āĻĻā§āĻ¯ āĻœā§āĻžāĻžāĻ¨āĻĒā§āĻ˛āĻŸ āĻļā§āĻ°ā§‡āĻŖā§€
āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻ¯āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ ns-3āĻāĻ° Gnuplot āĻ•ā§āĻ˛āĻžāĻ¸ āĻāĻ–āĻžāĻ¨ā§‡ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§‡:

src/stats/examples/gnuplot-example.cc

āĻāĻ‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻŸāĻŋ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤āĻ—ā§āĻ˛āĻŋ āĻ•āĻ°ā§āĻ¨:

$ ./waf āĻļā§‡āĻ˛
$ cd build/debug/src/stats/examples
$ ./gnuplot-āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ

āĻāĻ‡ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ gnuplot āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ
āĻ…āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤:

āĻĒā§āĻ˛āĻŸ-2d.plt
plot-2d-with-error-bars.plt
āĻĒā§āĻ˛āĻŸ-3d.plt

āĻāĻ‡ gnuplot āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤āĻ—ā§āĻ˛āĻŋ āĻ•āĻ°ā§āĻ¨:

$gnuplot plot-2d.plt
$gnuplot plot-2d-with-error-bars.plt
$gnuplot plot-3d.plt

āĻāĻ‡ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ—ā§āĻ°āĻžāĻĢāĻŋāĻ•ā§āĻ¸ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻŸāĻŋ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡
āĻ…āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤:

āĻĒā§āĻ˛āĻŸ-2d.png
plot-2d-with-error-bars.png
āĻĒā§āĻ˛āĻŸ-3d.png

āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻŋāĻ¯āĻŧ āĻ—ā§āĻ°āĻžāĻĢāĻŋāĻ•ā§āĻ¸ āĻ­āĻŋāĻ‰āĻ¯āĻŧāĻžāĻ°ā§‡ āĻāĻ‡ āĻ—ā§āĻ°āĻžāĻĢāĻŋāĻ•ā§āĻ¸ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¯āĻĻāĻŋ āĻœāĻŋāĻŽā§āĻĒ āĻĨāĻžāĻ•ā§‡
āĻ†āĻĒāĻ¨āĻžāĻ° āĻŽā§‡āĻļāĻŋāĻ¨ā§‡ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨:

$gimp plot-2d.png
$gimp plot-2d-with-error-bars.png
$gimp plot-3d.png

An āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¤ā§āĻ°āĻŋāĻŽāĻžāĻ¤ā§āĻ°āĻŋāĻ• 2 āĻšāĻ•ā§āĻ°āĻžāĻ¨ā§āĻ¤
āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ 2-āĻŽāĻžāĻ¤ā§āĻ°āĻŋāĻ• āĻĒā§āĻ˛āĻŸ
[āĻ›āĻŦāĻŋ]

gnuplot-example.cc āĻĨā§‡āĻ•ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•ā§‹āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡:

āĻ¨ā§‡āĻŽāĻ¸ā§āĻĒā§‡āĻ¸ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡;

string fileNameWithNoExtension = "āĻĒā§āĻ˛āĻŸ-2d";
string graphicsFileName = fileNameWithNoExtension + ".png";
string plotFileName = fileNameWithNoExtension + ".plt";
string plotTitle = "2-āĻĄāĻŋ āĻĒā§āĻ˛āĻŸ";
string dataTitle = "2-D āĻĄā§‡āĻŸāĻž";

// āĻĒā§āĻ˛āĻŸāĻŸāĻŋ āĻ‡āĻ¨āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻŸāĻŋāĻ¯āĻŧā§‡āĻŸ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻāĻ° āĻļāĻŋāĻ°ā§‹āĻ¨āĻžāĻŽ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨āĨ¤
Gnuplot āĻĒā§āĻ˛āĻŸ (āĻ—ā§āĻ°āĻžāĻĢāĻŋāĻ•ā§āĻ¸ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ);
plot.SetTitle (plotTitle);

// āĻ—ā§āĻ°āĻžāĻĢāĻŋāĻ•ā§āĻ¸ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨, āĻ¯ā§‡āĻŸāĻŋ āĻ¯āĻ–āĻ¨ āĻĒā§āĻ˛āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦā§‡
// Gnuplot āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻāĻ•āĻŸāĻŋ PNG āĻĢāĻžāĻ‡āĻ˛ āĻšā§‹āĻ¨āĨ¤
plot.SetTerminal ("png");

// āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ…āĻ•ā§āĻˇā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ˛ā§‡āĻŦā§‡āĻ˛ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨āĨ¤
plot.SetLegend ("X āĻŽāĻžāĻ¨", "Y āĻŽāĻžāĻ¨");

// x āĻ…āĻ•ā§āĻˇā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻ°āĻŋāĻ¸ā§€āĻŽāĻž āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨āĨ¤
plot.AppendExtra ("āĻ¸ā§‡āĻŸ xrange [-6:+6]");

// āĻĄā§‡āĻŸāĻžāĻ¸ā§‡āĻŸāĻŸāĻŋ āĻ‡āĻ¨āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻŸāĻŋāĻ¯āĻŧā§‡āĻŸ āĻ•āĻ°ā§āĻ¨, āĻāĻ° āĻļāĻŋāĻ°ā§‹āĻ¨āĻžāĻŽ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻ—ā§āĻ˛āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨
// āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ˛āĻžāĻ‡āĻ¨ āĻ¸āĻš āĻĒā§āĻ˛āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
Gnuplot2dDataset āĻĄā§‡āĻŸāĻžāĻ¸ā§‡āĻŸ;
dataset.SetTitle (dataTitle);
dataset.SetStyle (Gnuplot2dDataset::LINES_POINTS);

āĻĄāĻŦāĻ˛ āĻāĻ•ā§āĻ¸;
āĻĄāĻŦāĻ˛ y;

// 2-āĻĄāĻŋ āĻĄā§‡āĻŸāĻžāĻ¸ā§‡āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨āĨ¤
āĻœāĻ¨ā§āĻ¯ (x = -5.0; x <= +5.0; x += 1.0)
{
// 2-āĻĄāĻŋ āĻŦāĻ•ā§āĻ°āĻ°ā§‡āĻ–āĻž āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°ā§āĻ¨
//
// 2/XNUMX/XNUMX
// y = xāĨ¤
//
y = x * x;

// āĻāĻ‡ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨āĨ¤
āĻĄā§‡āĻŸāĻžāĻ¸ā§‡āĻŸ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ (x, y);
}

// āĻĒā§āĻ˛āĻŸā§‡ āĻĄā§‡āĻŸāĻžāĻ¸ā§‡āĻŸ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨āĨ¤
plot.AddDataset (āĻĄā§‡āĻŸāĻžāĻ¸ā§‡āĻŸ);

// āĻĒā§āĻ˛āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻ–ā§āĻ˛ā§āĻ¨āĨ¤
āĻ…āĻĢāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ āĻĒā§āĻ˛āĻŸāĻĢāĻžāĻ‡āĻ˛ (plotFileName.c_str());

// āĻĒā§āĻ˛āĻŸ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻ˛āĻŋāĻ–ā§āĻ¨āĨ¤
plot.GenerateOutput (plotFile);

// āĻĒā§āĻ˛āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°ā§āĻ¨āĨ¤
plotFile.close ();

An āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¤ā§āĻ°āĻŋāĻŽāĻžāĻ¤ā§āĻ°āĻŋāĻ• 2 āĻšāĻ•ā§āĻ°āĻžāĻ¨ā§āĻ¤ āĻ¸āĻ™ā§āĻ—ā§‡ āĻ­ā§āĻ˛ āĻĒāĻžāĻ¨āĻļāĻžāĻ˛āĻž
x āĻāĻŦāĻ‚ y āĻĻāĻŋāĻ•āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļā§‡ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻŦāĻžāĻ° āĻ¸āĻš āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ 2-āĻŽāĻžāĻ¤ā§āĻ°āĻŋāĻ• āĻĒā§āĻ˛āĻŸ
[āĻ›āĻŦāĻŋ]

gnuplot-example.cc āĻĨā§‡āĻ•ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•ā§‹āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡:

āĻ¨ā§‡āĻŽāĻ¸ā§āĻĒā§‡āĻ¸ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡;

string fileNameWithNoExtension = "plot-2d-with-error-bars";
string graphicsFileName = fileNameWithNoExtension + ".png";
string plotFileName = fileNameWithNoExtension + ".plt";
string plotTitle = "āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻŦāĻžāĻ° āĻ¸āĻš 2-āĻĄāĻŋ āĻĒā§āĻ˛āĻŸ";
string dataTitle = "āĻāĻ°āĻ° āĻŦāĻžāĻ° āĻ¸āĻš 2-D āĻĄā§‡āĻŸāĻž";

// āĻĒā§āĻ˛āĻŸāĻŸāĻŋ āĻ‡āĻ¨āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻŸāĻŋāĻ¯āĻŧā§‡āĻŸ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻāĻ° āĻļāĻŋāĻ°ā§‹āĻ¨āĻžāĻŽ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨āĨ¤
Gnuplot āĻĒā§āĻ˛āĻŸ (āĻ—ā§āĻ°āĻžāĻĢāĻŋāĻ•ā§āĻ¸ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ);
plot.SetTitle (plotTitle);

// āĻ—ā§āĻ°āĻžāĻĢāĻŋāĻ•ā§āĻ¸ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨, āĻ¯ā§‡āĻŸāĻŋ āĻ¯āĻ–āĻ¨ āĻĒā§āĻ˛āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦā§‡
// Gnuplot āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻāĻ•āĻŸāĻŋ PNG āĻĢāĻžāĻ‡āĻ˛ āĻšā§‹āĻ¨āĨ¤
plot.SetTerminal ("png");

// āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ…āĻ•ā§āĻˇā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ˛ā§‡āĻŦā§‡āĻ˛ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨āĨ¤
plot.SetLegend ("X āĻŽāĻžāĻ¨", "Y āĻŽāĻžāĻ¨");

// x āĻ…āĻ•ā§āĻˇā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻ°āĻŋāĻ¸ā§€āĻŽāĻž āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨āĨ¤
plot.AppendExtra ("āĻ¸ā§‡āĻŸ xrange [-6:+6]");

// āĻĄā§‡āĻŸāĻžāĻ¸ā§‡āĻŸāĻŸāĻŋ āĻ‡āĻ¨āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻŸāĻŋāĻ¯āĻŧā§‡āĻŸ āĻ•āĻ°ā§āĻ¨, āĻāĻ° āĻļāĻŋāĻ°ā§‹āĻ¨āĻžāĻŽ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻ—ā§āĻ˛āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨
// āĻ•ā§‹āĻ¨ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ˛āĻžāĻ‡āĻ¨ āĻ›āĻžāĻĄāĻŧāĻž āĻĒā§āĻ˛āĻŸ āĻ•āĻ°āĻž.
Gnuplot2dDataset āĻĄā§‡āĻŸāĻžāĻ¸ā§‡āĻŸ;
dataset.SetTitle (dataTitle);
dataset.SetStyle (Gnuplot2dDataset::POINTS);

// āĻĄā§‡āĻŸāĻžāĻ¸ā§‡āĻŸā§‡āĻ° x āĻāĻŦāĻ‚ y āĻ‰āĻ­āĻ¯āĻŧ āĻĻāĻŋāĻ•āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļā§‡ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻŦāĻžāĻ° āĻ°āĻžāĻ–ā§āĻ¨āĨ¤
dataset.SetErrorBars (Gnuplot2dDataset::XY);

āĻĄāĻŦāĻ˛ āĻāĻ•ā§āĻ¸;
āĻĄāĻŦāĻ˛ xErrorDelta;
āĻĄāĻŦāĻ˛ y;
āĻĄāĻŦāĻ˛ yErrorDelta;

// 2-āĻĄāĻŋ āĻĄā§‡āĻŸāĻžāĻ¸ā§‡āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨āĨ¤
āĻœāĻ¨ā§āĻ¯ (x = -5.0; x <= +5.0; x += 1.0)
{
// 2-āĻĄāĻŋ āĻŦāĻ•ā§āĻ°āĻ°ā§‡āĻ–āĻž āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°ā§āĻ¨
//
// 2/XNUMX/XNUMX
// y = xāĨ¤
//
y = x * x;

// x āĻĻāĻŋāĻ•ā§‡āĻ° āĻ…āĻ¨āĻŋāĻļā§āĻšāĻ¯āĻŧāĻ¤āĻžāĻ•ā§‡ āĻ¸ā§āĻĨāĻŋāĻ° āĻ•āĻ°ā§‡ āĻ¤ā§āĻ˛ā§āĻ¨
// y āĻĻāĻŋāĻ•ā§‡āĻ° āĻ…āĻ¨āĻŋāĻļā§āĻšāĻ¯āĻŧāĻ¤āĻž āĻāĻ•āĻŸāĻŋ āĻ§ā§āĻ°ā§āĻŦāĻ• āĻ­āĻ—ā§āĻ¨āĻžāĻ‚āĻļ āĻšāĻ¤ā§‡ āĻšāĻŦā§‡
// y āĻāĻ° āĻŽāĻžāĻ¨āĨ¤
xErrorDelta = 0.25;
yErrorDelta = 0.1 * y;

// x āĻāĻŦāĻ‚ y āĻ‰āĻ­āĻ¯āĻŧ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡āĻ‡ āĻ…āĻ¨āĻŋāĻļā§āĻšāĻ¯āĻŧāĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ‡ āĻŦāĻŋāĻ¨ā§āĻĻā§āĻŸāĻŋ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨
// āĻ…āĻ­āĻŋāĻŽā§āĻ–.
āĻĄā§‡āĻŸāĻžāĻ¸ā§‡āĻŸ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ (x, y, xErrorDelta, yErrorDelta);
}

// āĻĒā§āĻ˛āĻŸā§‡ āĻĄā§‡āĻŸāĻžāĻ¸ā§‡āĻŸ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨āĨ¤
plot.AddDataset (āĻĄā§‡āĻŸāĻžāĻ¸ā§‡āĻŸ);

// āĻĒā§āĻ˛āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻ–ā§āĻ˛ā§āĻ¨āĨ¤
āĻ…āĻĢāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ āĻĒā§āĻ˛āĻŸāĻĢāĻžāĻ‡āĻ˛ (plotFileName.c_str());

// āĻĒā§āĻ˛āĻŸ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻ˛āĻŋāĻ–ā§āĻ¨āĨ¤
plot.GenerateOutput (plotFile);

// āĻĒā§āĻ˛āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°ā§āĻ¨āĨ¤
plotFile.close ();

An āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¤ā§āĻ°āĻŋāĻŽāĻžāĻ¤ā§āĻ°āĻŋāĻ• 3 āĻšāĻ•ā§āĻ°āĻžāĻ¨ā§āĻ¤
āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ 3-āĻŽāĻžāĻ¤ā§āĻ°āĻŋāĻ• āĻĒā§āĻ˛āĻŸ
[āĻ›āĻŦāĻŋ]

gnuplot-example.cc āĻĨā§‡āĻ•ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•ā§‹āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡:

āĻ¨ā§‡āĻŽāĻ¸ā§āĻĒā§‡āĻ¸ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡;

string fileNameWithNoExtension = "āĻĒā§āĻ˛āĻŸ-3d";
string graphicsFileName = fileNameWithNoExtension + ".png";
string plotFileName = fileNameWithNoExtension + ".plt";
string plotTitle = "3-āĻĄāĻŋ āĻĒā§āĻ˛āĻŸ";
string dataTitle = "3-D āĻĄā§‡āĻŸāĻž";

// āĻĒā§āĻ˛āĻŸāĻŸāĻŋ āĻ‡āĻ¨āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻŸāĻŋāĻ¯āĻŧā§‡āĻŸ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻāĻ° āĻļāĻŋāĻ°ā§‹āĻ¨āĻžāĻŽ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨āĨ¤
Gnuplot āĻĒā§āĻ˛āĻŸ (āĻ—ā§āĻ°āĻžāĻĢāĻŋāĻ•ā§āĻ¸ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ);
plot.SetTitle (plotTitle);

// āĻ—ā§āĻ°āĻžāĻĢāĻŋāĻ•ā§āĻ¸ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨, āĻ¯ā§‡āĻŸāĻŋ āĻ¯āĻ–āĻ¨ āĻĒā§āĻ˛āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦā§‡
// Gnuplot āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻāĻ•āĻŸāĻŋ PNG āĻĢāĻžāĻ‡āĻ˛ āĻšā§‹āĻ¨āĨ¤
plot.SetTerminal ("png");

// āĻĒā§āĻ˛āĻŸāĻŸāĻŋāĻ•ā§‡ x āĻ…āĻ•ā§āĻˇā§‡āĻ° āĻšāĻžāĻ°āĻĒāĻžāĻļā§‡ 30 āĻĄāĻŋāĻ—ā§āĻ°āĻŋ āĻ˜ā§‹āĻ°āĻžāĻ¨ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻ˜ā§‹āĻ°āĻžāĻ¨
// āĻ¨āĻ¤ā§āĻ¨ z āĻ…āĻ•ā§āĻˇā§‡āĻ° āĻšāĻžāĻ°āĻĒāĻžāĻļā§‡ 120 āĻĄāĻŋāĻ—ā§āĻ°āĻŋ āĻĒā§āĻ˛āĻŸāĨ¤
āĻĒā§āĻ˛āĻŸāĨ¤āĻ…ā§āĻ¯āĻžāĻĒā§‡āĻ¨ā§āĻĄāĻāĻ•ā§āĻ¸āĻŸā§āĻ°āĻž ("āĻ¸ā§‡āĻŸ āĻ­āĻŋāĻ‰ 30, 120, 1.0, 1.0");

// z-āĻ…āĻ•ā§āĻˇā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻļā§‚āĻ¨ā§āĻ¯ āĻ•āĻ°ā§āĻ¨ x-āĻ…āĻ•ā§āĻˇ āĻāĻŦāĻ‚ y-āĻ…āĻ•ā§āĻˇ āĻ¸āĻŽāĻ¤āĻ˛ā§‡āĨ¤
āĻĒā§āĻ˛āĻŸāĨ¤āĻ…ā§āĻ¯āĻžāĻĒā§‡āĻ¨ā§āĻĄāĻāĻ•ā§āĻ¸āĻŸā§āĻ°āĻž ("āĻ¸ā§‡āĻŸ āĻŸāĻŋāĻ•ā§āĻ¸āĻ˛ā§‡āĻ­ā§‡āĻ˛ 0");

// āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ…āĻ•ā§āĻˇā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ˛ā§‡āĻŦā§‡āĻ˛ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨āĨ¤
plot.AppendExtra ("āĻāĻ•ā§āĻ¸ āĻ˛ā§‡āĻŦā§‡āĻ˛ 'āĻāĻ•ā§āĻ¸ āĻŽāĻžāĻ¨' āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨");
āĻĒā§āĻ˛āĻŸāĨ¤āĻ…ā§āĻ¯āĻžāĻĒā§‡āĻ¨ā§āĻĄāĻāĻ•ā§āĻ¸āĻŸā§āĻ°āĻž ("āĻ‡āĻ˛ā§‡āĻŦā§‡āĻ˛ 'āĻ“āĻ¯āĻŧāĻžāĻ‡ āĻŽāĻžāĻ¨' āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨");
plot.AppendExtra ("āĻ¸ā§‡āĻŸ zlabel 'Z Values'");

// x āĻāĻŦāĻ‚ y āĻ…āĻ•ā§āĻˇā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ°ā§‡āĻžā§āĻœ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨āĨ¤
plot.AppendExtra ("āĻ¸ā§‡āĻŸ xrange [-5:+5]");
plot.AppendExtra ("āĻ¸ā§‡āĻŸ yrange [-5:+5]");

// āĻĄā§‡āĻŸāĻžāĻ¸ā§‡āĻŸāĻŸāĻŋ āĻ‡āĻ¨āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻŸāĻŋāĻ¯āĻŧā§‡āĻŸ āĻ•āĻ°ā§āĻ¨, āĻāĻ° āĻļāĻŋāĻ°ā§‹āĻ¨āĻžāĻŽ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻ—ā§āĻ˛āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨
// āĻ˛āĻžāĻ‡āĻ¨ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤āĨ¤
Gnuplot3dDataset āĻĄā§‡āĻŸāĻžāĻ¸ā§‡āĻŸ;
dataset.SetTitle (dataTitle);
dataset.SetStyle ("āĻ˛āĻžāĻ‡āĻ¨ āĻ¸āĻš");

āĻĄāĻŦāĻ˛ āĻāĻ•ā§āĻ¸;
āĻĄāĻŦāĻ˛ y;
āĻĄāĻŦāĻ˛ z;

// 3-āĻĄāĻŋ āĻĄā§‡āĻŸāĻžāĻ¸ā§‡āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨āĨ¤
āĻœāĻ¨ā§āĻ¯ (x = -5.0; x <= +5.0; x += 1.0)
{
āĻœāĻ¨ā§āĻ¯ (y = -5.0; y <= +5.0; y += 1.0)
{
// 3-āĻĄāĻŋ āĻĒā§ƒāĻˇā§āĻ  āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°ā§āĻ¨
//
// 2 2
// z = x * yāĨ¤
//
z = x * x * y * y;

// āĻāĻ‡ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨āĨ¤
āĻĄā§‡āĻŸāĻžāĻ¸ā§‡āĻŸ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ (x, y, z);
}

// āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ x āĻŽāĻžāĻ¨ā§‡āĻ° āĻĄā§‡āĻŸāĻžāĻ° āĻļā§‡āĻˇā§‡ āĻĢāĻžāĻāĻ•āĻž āĻ˛āĻžāĻ‡āĻ¨āĻŸāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ
// 3-D āĻĒā§ƒāĻˇā§āĻ  āĻ—ā§āĻ°āĻŋāĻĄ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĨ¤
dataset.AddEmptyLine ();
}

// āĻĒā§āĻ˛āĻŸā§‡ āĻĄā§‡āĻŸāĻžāĻ¸ā§‡āĻŸ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨āĨ¤
plot.AddDataset (āĻĄā§‡āĻŸāĻžāĻ¸ā§‡āĻŸ);

// āĻĒā§āĻ˛āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻ–ā§āĻ˛ā§āĻ¨āĨ¤
āĻ…āĻĢāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ āĻĒā§āĻ˛āĻŸāĻĢāĻžāĻ‡āĻ˛ (plotFileName.c_str());

// āĻĒā§āĻ˛āĻŸ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻ˛āĻŋāĻ–ā§āĻ¨āĨ¤
plot.GenerateOutput (plotFile);

// āĻĒā§āĻ˛āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°ā§āĻ¨āĨ¤
plotFile.close ();

āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻšāĻžāĻ˛āĻžāĻ¨ ns-3
āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚ C++ āĻ•ā§‹āĻĄ āĻĒā§āĻ°āĻŦā§‡āĻļā§‡āĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧ ns-3 āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻ•āĻ˛ āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤

āĻāĻ‡ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧāĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧ āĻ¯āĻž āĻšāĻ˛āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ ns-3 āĻāĻŦāĻ‚
āĻāĻ•āĻŸāĻŋ C++ āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž ns-3 āĻŽāĻĄāĻŋāĻ‰āĻ˛āĨ¤

āĻ­ā§‚āĻŽāĻŋāĻ•āĻž
āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻ˛āĻ•ā§āĻˇā§āĻ¯ ns-3 āĻĻā§āĻ‡ āĻ­āĻžāĻāĻœ āĻšāĻ¯āĻŧ:

1. āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻžāĻ°āĻ•ā§‡ āĻĒāĻžāĻ‡āĻĨāĻ¨ā§‡ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ˛ā§‡āĻ–āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻāĻŋāĻ¨ (-
http://www.python.org);

2. āĻĒā§āĻ°ā§‹āĻŸā§‹āĻŸāĻžāĻ‡āĻĒ āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻĄā§‡āĻ˛ (āĻ¯ā§‡āĻŽāĻ¨ āĻ°āĻžāĻ‰āĻŸāĻŋāĻ‚ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛)āĨ¤

āĻ†āĻĒāĻžāĻ¤āĻ¤, āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻĢā§‹āĻ•āĻžāĻ¸ āĻĒā§āĻ°āĻĨāĻŽ āĻ˛āĻ•ā§āĻˇā§āĻ¯, āĻ¤āĻŦā§‡ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧāĻŸāĻŋ
āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ…āĻŦāĻļā§‡āĻˇā§‡ āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ āĻšāĻŦā§‡. āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚ ns-3 āĻŦāĻŋāĻ•āĻļāĻŋāĻ¤ āĻšāĻšā§āĻ›ā§‡
PyBindGen āĻ¨āĻžāĻŽā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻŸā§āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ (http://code.google.com/p/pybindgen).

An āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻ˛āĻŋāĻĒāĻŋ āĻ¯ā§‡ āĻ°āĻžāĻ¨ ns-3
āĻāĻ–āĻžāĻ¨ā§‡ āĻ•āĻŋāĻ›ā§ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ•ā§‹āĻĄ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻĒāĻžāĻ‡āĻĨāĻ¨ā§‡ āĻ˛ā§‡āĻ–āĻž āĻ†āĻ›ā§‡ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻšāĻ˛ā§‡ ns-3, āĻ¯āĻž āĻ˛ā§‡āĻ–āĻž āĻ†āĻ›ā§‡
C++ āĻāĨ¤ āĻāĻ‡ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§‡ example/tutorial/first.py:

ns.applications āĻ†āĻŽāĻĻāĻžāĻ¨āĻŋ āĻ•āĻ°ā§āĻ¨
ns.core āĻ†āĻŽāĻĻāĻžāĻ¨āĻŋ āĻ•āĻ°ā§āĻ¨
ns.internet āĻ†āĻŽāĻĻāĻžāĻ¨āĻŋ āĻ•āĻ°ā§āĻ¨
ns.network āĻ†āĻŽāĻĻāĻžāĻ¨āĻŋ āĻ•āĻ°ā§āĻ¨
ns.point_to_point āĻ†āĻŽāĻĻāĻžāĻ¨āĻŋ āĻ•āĻ°ā§āĻ¨

ns.core.LogComponentEnable("UdpEchoClientApplication", ns.core.LOG_LEVEL_INFO)
ns.core.LogComponentEnable("UdpEchoServerApplication", ns.core.LOG_LEVEL_INFO)

āĻ¨ā§‹āĻĄ = ns.network.NodeContainer()
āĻ¨ā§‹āĻĄāĻ¸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨(2)

pointToPoint = ns.point_to_point.PointToPointHelper()
pointToPoint.SetDeviceAttribute("DataRate", ns.core.StringValue("5Mbps"))
pointToPoint.SetChannelAttribute("āĻŦāĻŋāĻ˛āĻŽā§āĻŦ", ns.core.StringValue("2ms"))

āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ = pointToPoint.Install(āĻ¨ā§‹āĻĄ)

āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ• = ns.internet.InternetStackHelper()
stack.Install(āĻ¨ā§‹āĻĄ)

āĻ āĻŋāĻ•āĻžāĻ¨āĻž = ns.internet.Ipv4AddressHelper()
āĻ āĻŋāĻ•āĻžāĻ¨āĻž.SetBase(ns.network.Ipv4Address("10.1.1.0"), ns.network.Ipv4Mask("255.255.255.0"))

āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ = āĻ āĻŋāĻ•āĻžāĻ¨āĻžāĨ¤ āĻŦāĻ°āĻžāĻĻā§āĻĻ (āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸);

āĻ‡āĻ•ā§‹ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° = ns.applications.UdpEchoServerHelper(9)

serverApps = echoServer.Install(āĻ¨ā§‹āĻĄāĨ¤ āĻĒāĻžāĻ¨(1))
serverApps.Start(ns.core.Seconds(1.0))
serverApps.Stop(ns.core.Seconds(10.0))

echoClient = ns.applications.UdpEchoClientHelper(āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸āĨ¤ āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻĒāĻžāĻ¨(1), 9)
echoClient.SetAttribute("MaxPackets", ns.core.UintegerValue(1))
echoClient.SetAttribute("Interval", ns.core.TimeValue(ns.core.Seconds (1.0)))
echoClient.SetAttribute("āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻ¸āĻžāĻ‡āĻœ", ns.core.UintegerValue(1024))

clientApps = echoClient.Install(āĻ¨ā§‹āĻĄāĨ¤ āĻĒāĻžāĻ¨(0))
clientApps.Start(ns.core.Seconds(2.0))
clientApps.Stop(ns.core.Seconds(10.0))

ns.core.Simulator.Run()
ns.core.Simulator.Destroy()

āĻšāĻ˛āĻŽāĻžāĻ¨ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ
waf-āĻ āĻ•āĻŋāĻ›ā§ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ ns3 āĻ–ā§āĻāĻœā§‡ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻĒāĻžāĻĨ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°ā§‡
āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻ—ā§āĻ˛āĻŋ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯, āĻāĻŸāĻŋāĻ° āĻ¯āĻ¤ā§āĻ¨ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ waf āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻĻā§āĻŸāĻŋ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻāĻ•
āĻāĻ•āĻŸāĻŋ waf āĻļā§‡āĻ˛ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧ; āĻ¯ā§‡āĻŽāĻ¨:

$./waf --shell
$ python āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ/wireless/mixed-wireless.py

āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¯āĻŸāĻŋ āĻšāĻ˛ waf āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ --pyrun āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž:

$ ./waf --pyrun āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ/wireless/mixed-wireless.py

āĻ¸āĻŋ āĻĄāĻŋāĻŦāĻžāĻ—āĻžāĻ°ā§‡āĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯:

$./waf --shell
$ gdb --args āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ/wireless/mixed-wireless.py

āĻ•āĻ˛ āĻ•āĻ°ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ ns-3 āĻāĻŦāĻ‚ āĻ¯ā§‡ āĻāĻ‡ āĻĒāĻĨ āĻ†āĻ›ā§‡,
/path/to/your/example/my-script.py, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•āĻžāĻœ āĻ•āĻ°ā§āĻ¨:

$./waf --shell
$ python /path/to/your/example/my-script.py

āĻ†āĻĻā§‡āĻļ āĻ¸āĻšāĻ•āĻžāĻ°ā§‡
āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚ ns-3 āĻāĻ•āĻŸāĻŋ āĻ•āĻžāĻœ āĻšāĻ˛āĻ›ā§‡, āĻāĻŦāĻ‚ āĻ•āĻŋāĻ›ā§ āĻ¸ā§€āĻŽāĻžāĻŦāĻĻā§āĻ§āĻ¤āĻž āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤
āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€ āĻāĻ‡ āĻ¸ā§€āĻŽāĻžāĻŦāĻĻā§āĻ§āĻ¤āĻžāĻ° āĻ•āĻŋāĻ›ā§ (āĻ¸āĻŦ āĻ¨āĻ¯āĻŧ) āĻāĻ–āĻžāĻ¨ā§‡ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻ…āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ•āĻ­āĻžāĻ°ā§‡āĻœ
āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ āĻ¯ā§‡ āĻĒāĻžāĻ‡āĻĨāĻ¨ā§‡ 100% API āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ āĻ¨āĻ¯āĻŧāĨ¤ āĻ•āĻŋāĻ›ā§
āĻ•āĻžāĻ°āĻŖāĻ—ā§āĻ˛āĻŋ āĻšāĻ˛:

1. āĻ•āĻŋāĻ›ā§ āĻāĻĒāĻŋāĻ†āĻ‡ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻœāĻĄāĻŧāĻŋāĻ¤, āĻ¯āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§‹āĻ¨ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻŽā§‡āĻŽāĻ°āĻŋāĻ° āĻœā§āĻžāĻžāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨
āĻĒāĻžāĻ¸āĻŋāĻ‚ āĻļāĻŦā§āĻĻāĻžāĻ°ā§āĻĨāĻŦāĻŋāĻĻā§āĻ¯āĻž (āĻ•ā§‡ āĻ•ā§€ āĻ¸ā§āĻŽā§ƒāĻ¤āĻŋāĻ° āĻŽāĻžāĻ˛āĻŋāĻ•)āĨ¤ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻœā§āĻžāĻžāĻ¨ āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻ…āĻ‚āĻļ āĻ¨āĻ¯āĻŧ
āĻ¸ā§āĻŦāĻžāĻ•ā§āĻˇāĻ°, āĻāĻŦāĻ‚ āĻšāĻ¯āĻŧ āĻ¨āĻĨāĻŋāĻ­ā§āĻ•ā§āĻ¤ āĻŦāĻž āĻ•āĻ–āĻ¨āĻ“ āĻ•āĻ–āĻ¨āĻ“ āĻāĻŽāĻ¨āĻ•āĻŋ āĻ¨āĻĨāĻŋāĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻŸā§€āĻ•āĻž āĻšāĻ¯āĻŧ
āĻāĻ‡ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ†āĻŦāĻĻā§āĻ§ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨;

2. āĻ•āĻ–āĻ¨āĻ“ āĻ•āĻ–āĻ¨āĻ“ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ• āĻŽā§ŒāĻ˛āĻŋāĻ• āĻĄā§‡āĻŸāĻž āĻŸāĻžāĻ‡āĻĒ āĻŦāĻž C++ āĻ—āĻ āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¯āĻž āĻāĻ–āĻ¨āĻ“ āĻšāĻ¯āĻŧāĻ¨āĻŋ
PyBindGen āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤;

3. āĻœāĻŋāĻ¸āĻŋāĻ¸āĻŋ-āĻāĻ•ā§āĻ¸āĻāĻŽāĻāĻ˛ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ• āĻ•ā§āĻ˛āĻžāĻ¸ āĻ°āĻŋāĻĒā§‹āĻ°ā§āĻŸ āĻ•āĻ°ā§‡ āĻ¨āĻž āĻ¯āĻĻāĻŋ āĻ¨āĻž āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ‡āĻ¨āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻŸāĻŋāĻ¯āĻŧā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

āĻ…āĻ¨ā§āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ APIs āĻ…āĻ§āĻŋāĻ•āĻžāĻ‚āĻļ āĻŽā§‹āĻĄāĻŧāĻžāĻ¨ā§‹ āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ¯āĻĨā§‡āĻˇā§āĻŸ āĻ¸āĻŽāĻ¯āĻŧ, āĻ§ā§ˆāĻ°ā§āĻ¯, ​​āĻāĻŦāĻ‚ āĻĻāĻ•ā§āĻˇāĻ¤āĻž āĻĻā§‡āĻ“āĻ¯āĻŧāĻž, āĻāĻŦāĻ‚
āĻŦāĻžāĻ— āĻ°āĻŋāĻĒā§‹āĻ°ā§āĻŸ āĻœāĻŽāĻž āĻĻāĻŋāĻ˛ā§‡ āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻŽā§‹āĻĄāĻŧāĻžāĻ¨ā§‹ āĻšāĻŦā§‡āĨ¤ āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻ— āĻ°āĻŋāĻĒā§‹āĻ°ā§āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ¨āĻž
"āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚āĻ—ā§āĻ˛āĻŋ āĻ…āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ", āĻ•āĻžāĻ°āĻŖ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻžāĻ›ā§‡ 100% āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻœāĻ¨āĻŦāĻ˛ āĻ¨ā§‡āĻ‡
āĻŦāĻžāĻāĻ§āĻžāĻ‡

āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻ¤āĻžāĻ°āĻž
āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ¨āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•ā§āĻŸāĻ° PyBindGen āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻ–āĻ¨āĻ“ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ āĻ¨āĻ¯āĻŧ, āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻž āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻ•āĻžāĻœ āĻ•āĻ°ā§‡
Python āĻ API āĻ…āĻ¨ā§āĻŦāĻžāĻĻ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻ•āĻ¨āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•ā§āĻŸāĻ°āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, C++ āĻ āĻ†āĻĒāĻ¨āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻāĻ‡:

Ipv4AddressHelper ipAddrs;
ipAddrs.SetBase ("192.168.0.0", "255.255.255.0");
ipAddrs.Assign (backboneDevices);

āĻĒāĻžāĻ‡āĻĨāĻ¨ā§‡, āĻ†āĻĒāĻžāĻ¤āĻ¤ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡:

ipAddrs = ns3.Ipv4AddressHelper()
ipAddrs.SetBase(ns3.Ipv4Address("192.168.0.0"), ns3.Ipv4Mask("255.255.255.0"))
ipAddrs. Assign (āĻŦā§āĻ¯āĻžāĻ•āĻŦā§‹āĻ¨ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸)

āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ‡āĻ¨
āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ‡āĻ¨::āĻ…ā§āĻ¯āĻžāĻĄāĻ­ā§āĻ¯āĻžāĻ˛ā§() āĻĒāĻžāĻ‡āĻĨāĻ¨ā§‡ āĻāĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻ­āĻŋāĻ¨ā§āĻ¨āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ ns-3. āĻĒāĻžāĻ‡āĻĨāĻ¨ā§‡, āĻĻ
āĻĒā§āĻ°āĻĨāĻŽ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻ¯āĻž āĻ•āĻŽāĻžāĻ¨ā§āĻĄ-āĻ˛āĻžāĻ‡āĻ¨ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻ¨āĻžāĻŽ āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻ¯āĻ–āĻ¨ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ
āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻŦāĻŋāĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻ¨āĻžāĻŽā§‡āĻ° āĻŽāĻ¤ā§‹ āĻāĻ•āĻ‡ āĻ¨āĻžāĻŽā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ‡āĻ¨()
āĻŦāĻ¸ā§āĻ¤ā§ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ:

NUM_NODES_SIDE_DEFAULT = 3

cmd = ns3.CommandLine()

cmd.NumNodesSide = āĻ•ā§‹āĻ¨āĻŸāĻŋ āĻ¨āĻ¯āĻŧ
cmd.AddValue("NumNodesSide", "āĻ¨ā§‹āĻĄā§‡āĻ° āĻ—ā§āĻ°āĻŋāĻĄ āĻ¸āĻžāĻ‡āĻĄ āĻ¨āĻŽā§āĻŦāĻ° (āĻ¨ā§‹āĻĄā§‡āĻ° āĻŽā§‹āĻŸ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻāĻ‡ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻŸāĻŋ āĻŦāĻ°ā§āĻ— āĻ•āĻ°āĻž āĻšāĻŦā§‡)")

cmd.Parse(argv)

[...]

āĻ¯āĻĻāĻŋ cmd.NumNodesSide āĻ•ā§‹āĻ¨āĻŸāĻŋ āĻ¨āĻž āĻšāĻ¯āĻŧ:
num_nodes_side = NUM_NODES_SIDE_DEFAULT
āĻ…āĻ¨ā§āĻ¯:
num_nodes_side = int(cmd.NumNodesSide)

āĻ°āĻšāĻ¨āĻž
āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ• āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻāĻ–āĻ¨āĻ“ āĻĒāĻžāĻ‡āĻĨāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨āĻ¤ā§āĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ āĻ¨āĻ¯āĻŧ ns-3 API āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨
āĻāĻ‡ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°āĻž āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻŦā§‡.

Pcap āĻĢāĻžāĻ‡āĻ˛ āĻ˛ā§‡āĻ–āĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ API āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤āĨ¤

Ascii āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻāĻ° āĻĒāĻ° āĻĨā§‡āĻ•ā§‡ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ ns-3.4 āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ C++ API āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻĒāĻžāĻ‡āĻĨāĻ¨ā§‡ āĻ…āĻ¨ā§āĻŦāĻžāĻĻ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, ascii āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯ ascii-āĻ¤ā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ“āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡
āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĨ¤ āĻĒāĻžāĻ‡āĻĨāĻ¨ā§‡, āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ C++ std::ofstream āĻ¨ā§āĻ¯ā§‚āĻ¨āĻ¤āĻŽāĻ­āĻžāĻŦā§‡ āĻŽā§‹āĻĄāĻŧāĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
āĻāĻ‡. āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ:

ascii = ns3.ofstream("wifi-ap.tr") # āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨
ns3.YansWifiPhyHelper.EnableAsciiAll(ascii)
ns3.Simulator.Run()
ns3.Simulator.Destroy()
ascii.close() # āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°ā§āĻ¨

āĻāĻ•āĻŸāĻŋ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻ†āĻ›ā§‡: āĻ†āĻĒāĻ¨āĻŋ āĻĢāĻžāĻ‡āĻ˛ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸāĻ•ā§‡ āĻ†āĻŦāĻ°ā§āĻœāĻ¨āĻž āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻŦā§‡āĻ¨ āĻ¨āĻž ns-3
āĻāĻ–āĻ¨āĻ“ āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ›ā§‡āĨ¤ āĻāĻ° āĻŽāĻžāĻ¨ā§‡ āĻšāĻ˛ āĻ¯ā§‡ āĻ‰āĻĒāĻ°ā§‡āĻ° 'ascii' āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛āĻŸāĻŋāĻ•ā§‡ āĻ¯ā§‡āĻ¤ā§‡ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻ‰āĻšāĻŋāĻ¤ āĻ¨āĻ¯āĻŧ
āĻ¸ā§āĻ¯ā§‹āĻ—ā§‡āĻ° āĻŦāĻžāĻ‡āĻ°ā§‡ āĻ¨āĻž āĻšāĻ˛ā§‡ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŸāĻŋ āĻ•ā§āĻ°ā§āĻ¯āĻžāĻļ āĻšāĻŦā§‡āĨ¤

Cygwin āĻ¸ā§€āĻŽāĻžāĻŦāĻĻā§āĻ§āĻ¤āĻž
āĻ¸āĻžāĻ‡āĻ—āĻ‰āĻ‡āĻ¨ā§‡ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ¨āĻžāĨ¤ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ gccxml āĻŦāĻžāĻ— āĻāĻ° āĻ•āĻžāĻ°āĻŖā§‡āĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻžāĻ‡āĻ—āĻ‰āĻ‡āĻ¨ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĨā§‡āĻ•ā§‡ API āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ¨ āĻ•āĻ°ā§‡ āĻāĻŸāĻŋ āĻĨā§‡āĻ•ā§‡ āĻĻā§‚āĻ°ā§‡ āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻĒāĻ°āĻŋāĻŦā§‡āĻļ (./waf --python-scan)āĨ¤ āĻ¤āĻŦā§‡ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ¸āĻŽā§āĻ­āĻžāĻŦā§āĻ¯ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻšāĻŦā§‡
āĻ†āĻŽāĻ°āĻž āĻ¸āĻžāĻ‡āĻ—āĻ‰āĻ‡āĻ¨ā§‡ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚ āĻ…āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻŋāĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ‡ āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹āĻœā§‡ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¯āĻ¤ā§āĻ¨āĻļā§€āĻ˛ āĻšāĻ¨ āĻ¤āĻŦā§‡ mingw āĻāĻŦāĻ‚ āĻ¨ā§‡āĻŸāĻŋāĻ­ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§āĻ¨
āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻĒāĻžāĻ‡āĻĨāĻ¨āĨ¤ āĻ…āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ, āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚ āĻ›āĻžāĻĄāĻŧāĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡, āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚ āĻ…āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§āĻ¨
āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧ:

$ ./waf āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° --disable-python

āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻŋāĻ‚ āĻ¸āĻ™ā§āĻ—ā§‡ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦāĻžāĻāĻ§āĻžāĻ‡
āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§‡ āĻĻā§āĻŸāĻŋ āĻ§āĻ°āĻŖā§‡āĻ° āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ ns-3:

1. āĻŽāĻ¨ā§‹āĻ˛āĻŋāĻĨāĻŋāĻ• āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ API āĻ¸āĻ‚āĻœā§āĻžāĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ā§ˇ
āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ, āĻŦāĻžāĻāĻ§āĻžāĻ‡/āĻĒāĻžāĻ‡āĻĨāĻ¨.

2. āĻŽāĻĄā§āĻ˛āĻžāĻ° āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ API āĻ¸āĻ‚āĻœā§āĻžāĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋāĻ¤ā§‡ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻāĻ° āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ.

āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦāĻžāĻāĻ§āĻžāĻ‡ āĻ•āĻ°ā§āĻŽāĻĒā§āĻ°āĻŦāĻžāĻš
āĻ¯ā§‡ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¤āĻž āĻšāĻ˛:

1. āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧāĻ•ā§āĻ°āĻŽā§‡ āĻāĻ•āĻœāĻ¨ āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€ āĻāĻ•āĻŸāĻŋ GCC-XML āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ (http://www.gccxml.org) āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ• API āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ¨āĻŋāĻ‚
āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ, āĻ¯āĻž āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ¨ āĻ•āĻ°āĻž API āĻ¸āĻ‚āĻœā§āĻžāĻž āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§‡ bindings/python/ns3_module__*.py āĻ¨āĻĨāĻŋ āĻĒāĻ¤ā§āĻ°
āĻ…āĻĨāĻŦāĻž āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻĢāĻžāĻ‡āĻ˛ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻāĻ‡ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛ā§‹ āĻ¨āĻŋāĻšā§‡ āĻ°āĻžāĻ–āĻž āĻšāĻ¯āĻŧ
āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ ns-3 āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛;

2. āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€āĻ°āĻž āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻ•ā§āĻ˛ā§‹āĻ¨ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ¨ āĻ•āĻ°āĻž API āĻ¸āĻ‚āĻœā§āĻžāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡;

3. āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ ns-3, pybindgen āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻšāĻŦā§‡ āĻ¯āĻĻāĻŋ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻ¨āĻž āĻĨāĻžāĻ•ā§‡
āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻŽā§āĻ•ā§āĻ¤āĻŋ āĻĒā§‡āĻ¯āĻŧā§‡āĻ›ā§‡ ns-3 āĻŸāĻžāĻ°āĻŦāĻ˛āĻ—ā§āĻ˛āĻŋ āĻĒāĻžāĻ‡āĻŦāĻŋāĻ¨ā§āĻĄāĻœā§‡āĻ¨ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻĒā§āĻ°ā§‡āĻ°āĻŖ āĻ•āĻ°āĻŦā§‡āĨ¤

āĻ¯āĻĻāĻŋ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ•āĻ°āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻŋāĻ›ā§ āĻ­ā§āĻ˛ āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻŋ āĻ•ā§‡āĻŦāĻ˛ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ‰āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨
āĻāĻŦāĻ‚ C++ āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ—āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¨, āĻ†āĻĒāĻ¨āĻŋ āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻ¨āĻŋāĻˇā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨:

$./waf --disable-python

āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻ¨āĻž āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻŋāĻ‚ āĻ¨āĻ¤ā§āĻ¨ āĻ¨āĻĨāĻŋ āĻĒāĻ¤ā§āĻ° or āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ API āĻ—ā§āĻ˛āĻŋ
āĻ¤āĻžāĻ‡ āĻ†āĻĒāĻ¨āĻŋ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ ns-3 āĻāĻĒāĻŋāĻ†āĻ‡ āĻāĻŦāĻ‚ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚ āĻ†āĻ° āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻšāĻ¯āĻŧ āĻ¨āĻž? āĻ•āĻ°āĻŦā§‡āĻ¨
āĻšāĻ¤āĻžāĻļāĻž āĻ¨āĻ¯āĻŧ, āĻ†āĻĒāĻ¨āĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻĢāĻ˛āĻŋāĻ¤ āĻ•āĻ°ā§‡ āĻāĻŽāĻ¨ āĻ¨āĻ¤ā§āĻ¨ āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚āĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ā§ˇ
āĻĨā§‡āĻ•ā§‡ ns-3 API- āĻŸāĻŋāĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻŽāĻ¨ā§‹āĻ˛āĻŋāĻĨāĻŋāĻ• āĻŦāĻž āĻŽāĻĄā§āĻ˛āĻžāĻ° āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ›ā§‡āĻ¨ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻžāĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡, āĻ¨ā§€āĻšā§‡āĻ° āĻ†āĻ˛ā§‹āĻšāĻ¨āĻžāĻ—ā§āĻ˛āĻŋ āĻĻā§‡āĻ–ā§āĻ¨
āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚āĻ—ā§āĻ˛āĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ¨ āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ¤āĻž āĻļāĻŋāĻ–ā§āĻ¨āĨ¤

āĻāĻ•āĻļāĻŋāĻ˛āĻž āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦāĻžāĻāĻ§āĻžāĻ‡
āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ āĻĻā§āĻ¯ āĻāĻ•āĻļāĻŋāĻ˛āĻž āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦāĻžāĻāĻ§āĻžāĻ‡
āĻŽāĻ¨ā§‹āĻ˛āĻŋāĻĨāĻŋāĻ• āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚āĻ—ā§āĻ˛āĻŋ āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤āĻ—ā§āĻ˛āĻŋ āĻ•āĻ°ā§āĻ¨:

$./waf --python-scan

āĻ¸āĻ‚āĻ—āĻ āĻ¨ of āĻĻā§āĻ¯ āĻāĻ•āĻļāĻŋāĻ˛āĻž āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦāĻžāĻāĻ§āĻžāĻ‡
āĻŽāĻ¨ā§‹āĻ˛āĻŋāĻĨāĻŋāĻ• āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻāĻĒāĻŋāĻ†āĻ‡ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ—ā§āĻ˛āĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§‚āĻĒ āĻ¸āĻ‚āĻ—āĻ āĻŋāĻ¤āĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ ns-3 āĻŽāĻĄāĻŋāĻ‰āĻ˛
, āĻĢāĻžāĻ‡āĻ˛ bindings/python/ns3_module_ .py āĻāĻ° API āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°ā§‡āĨ¤ āĻ¯āĻžāĻ°āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ
āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° 3āĻŸāĻŋ āĻļā§€āĻ°ā§āĻˇ āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:

1. Def register_types(āĻŽāĻĄāĻŋāĻ‰āĻ˛)(): āĻāĻ‡ āĻĢāĻžāĻ‚āĻļāĻ¨āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ā§‡āĻ° āĻ¯āĻ¤ā§āĻ¨ āĻ¨ā§‡āĻ¯āĻŧ (āĻ¯ā§‡āĻŽāĻ¨
C++ āĻ•ā§āĻ˛āĻžāĻ¸, enums) āĻ¯āĻž tha āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡;

2. Def āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°_āĻĒāĻĻā§āĻ§āĻ¤āĻŋ(āĻŽāĻĄāĻŋāĻ‰āĻ˛)(): āĻāĻ‡ āĻĢāĻžāĻ‚āĻļāĻ¨āĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻ˛ āĻ•āĻ°ā§‡ , āĻ…āĻ¨ā§āĻ¯
āĻĢāĻžāĻ‚āĻļāĻ¨ register_methods_Ns3 (āĻŽāĻĄāĻŋāĻ‰āĻ˛)āĨ¤ āĻāĻ‡ āĻĒāĻ°ā§‡āĻ° āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¯ā§‹āĻ—
āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻļā§āĻ°ā§‡āĻŖā§€āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ‚āĻœā§āĻžāĻž;

3. Def āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°_āĻĢāĻžāĻ‚āĻļāĻ¨(āĻŽāĻĄāĻŋāĻ‰āĻ˛)(): āĻāĻ‡ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ ns-3 āĻāĻ° āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ—āĻ¤ āĻĢāĻžāĻ‚āĻļāĻ¨
āĻ¯ā§‡ āĻŽāĻĄāĻŋāĻ‰āĻ˛.

āĻŽāĻĄā§āĻ˛āĻžāĻ° āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦāĻžāĻāĻ§āĻžāĻ‡
āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻŦāĻŋāĻŦāĻ°āĻŖ
ns 3.11 āĻĨā§‡āĻ•ā§‡, āĻŽāĻĄā§āĻ˛āĻžāĻ° āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡, āĻĒā§āĻ°āĻžāĻ¨ā§‹ āĻāĻ•āĻļāĻŋāĻ˛āĻžāĻŸāĻŋāĻ° āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛ā§‡
āĻŦāĻžāĻāĻ§āĻžāĻ‡

āĻ¨āĻ¤ā§āĻ¨ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚āĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻžāĻ¨ā§‹āĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ 'ns3' āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ 'ns' āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
āĻŦāĻžāĻāĻ§āĻžāĻ‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ:

ns.network āĻ†āĻŽāĻĻāĻžāĻ¨āĻŋ āĻ¨ā§‹āĻĄ āĻĨā§‡āĻ•ā§‡
n1 = āĻ¨ā§‹āĻĄ()

āĻŽāĻĄā§āĻ˛āĻžāĻ° āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚ āĻ¸āĻš:

1. āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĒā§ƒāĻĨāĻ• āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ā§ˇ ns-3 āĻŽāĻĄāĻŋāĻ‰āĻ˛

2. āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ¨āĻŋāĻ‚ API āĻ¸āĻ‚āĻœā§āĻžāĻž (apidefs) āĻĒā§āĻ°āĻ¤āĻŋ ns- āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ¤ā§‡ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ;

3. āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡āĻ° āĻ…ā§āĻ¯āĻžāĻĒāĻŋāĻĄā§‡āĻĢ āĻĢāĻžāĻ‡āĻ˛ āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡āĻ° āĻāĻ•āĻŸāĻŋ 'āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚' āĻ¸āĻžāĻŦāĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ;

āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ āĻĻā§āĻ¯ āĻŽāĻĄā§āĻ˛āĻžāĻ° āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦāĻžāĻāĻ§āĻžāĻ‡
āĻŽā§‚āĻ˛ āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŽāĻĄā§āĻ˛āĻžāĻ° āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚ āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤āĻ—ā§āĻ˛āĻŋ āĻ•āĻ°ā§āĻ¨:

$./waf --apiscan=core

āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻŽāĻĄā§āĻ˛āĻžāĻ° āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚āĻ—ā§āĻ˛āĻŋ āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤āĻ—ā§āĻ˛āĻŋ āĻ•āĻ°ā§āĻ¨:

$./waf --apiscan=āĻ¸āĻŽāĻ¸ā§āĻ¤

āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ a āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛
āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡āĻ¨, āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚āĻ—ā§āĻ˛āĻŋ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻšāĻ¤ā§‡ āĻĨāĻžāĻ•āĻŦā§‡ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻšāĻŦā§‡ āĻ¨āĻž
āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ•āĻ­āĻžāĻ° āĻ•āĻ°ā§āĻ¨āĨ¤

āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ•āĻ­āĻžāĻ° āĻ•āĻ°āĻ¤ā§‡, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ bindings/python/ns3_module_ .py āĻĢāĻžāĻ‡āĻ˛,
āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§€ āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ āĻ¯āĻž āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¤āĻžāĻ° āĻ…āĻ¨ā§āĻ°ā§‚āĻĒ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛ā§‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ āĻ•āĻ°ā§āĻ¨
LOCAL_MODULES() in bindings/python/ns3modulegen.py

āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻŽāĻĄā§āĻ˛āĻžāĻ° āĻŦāĻžāĻāĻ§āĻžāĻ‡ āĻĨā§‡āĻ•ā§‡ A āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛
āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻŽāĻĄā§āĻ˛āĻžāĻ° āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ ns-3 āĻŽāĻĄāĻŋāĻ‰āĻ˛, āĻ•ā§‡āĻŦāĻ˛ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨
āĻāĻ° wscript build() āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻ˛āĻžāĻ‡āĻ¨:

bld.ns3_python_bindings()

āĻ¸āĻ‚āĻ—āĻ āĻ¨ of āĻĻā§āĻ¯ āĻŽāĻĄā§āĻ˛āĻžāĻ° āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦāĻžāĻāĻ§āĻžāĻ‡
āĻ¸āĻžāĻ°ā§āĻœāĻžāĻ°āĻŋāĻ° src/ / āĻŦāĻžāĻāĻ§āĻžāĻ‡ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĢāĻžāĻ‡āĻ˛ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ¤āĻžāĻĻā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ
āĻāĻšā§āĻ›āĻŋāĻ•:

¡ callbacks_list.py: āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ¨ āĻ•āĻ°āĻž āĻĢāĻžāĻ‡āĻ˛, āĻ¸ā§āĻĒāĻ°ā§āĻļ āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ¨āĻžāĨ¤ āĻāĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡
āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ•<...> āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ¨ āĻ•āĻ°āĻž āĻšā§‡āĻĄāĻžāĻ°ā§‡ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ;

¡ modulegen__gcc_LP64.py: āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ¨ āĻ•āĻ°āĻž āĻĢāĻžāĻ‡āĻ˛, āĻ¸ā§āĻĒāĻ°ā§āĻļ āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ¨āĻžāĨ¤ āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ¨ āĻ•āĻ°āĻž API āĻ¸āĻ‚āĻœā§āĻžāĻž
GCC, LP64 āĻ†āĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āĻšāĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ (64-āĻŦāĻŋāĻŸ)

¡ modulegen__gcc_ILP32.py: āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ¨ āĻ•āĻ°āĻž āĻĢāĻžāĻ‡āĻ˛, āĻ¸ā§āĻĒāĻ°ā§āĻļ āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ¨āĻžāĨ¤ āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ¨ āĻ•āĻ°āĻž API āĻ¸āĻ‚āĻœā§āĻžāĻž
GCC, ILP32 āĻ†āĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āĻšāĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ (32-āĻŦāĻŋāĻŸ)

¡ modulegen_customizations.py: āĻ•āĻžāĻ¸ā§āĻŸāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻĒāĻ¨āĻŋ āĻāĻšā§āĻ›āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻāĻ‡ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻĒāĻžāĻ‡āĻŦāĻŋāĻ¨ā§āĻĄāĻœā§‡āĻ¨ āĻ•ā§‹āĻĄ āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻļāĻ¨

¡ scan-header.h: āĻ•ā§‹āĻ¨ āĻšā§‡āĻĄāĻžāĻ° āĻĢāĻžāĻ‡āĻ˛ āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¤āĻž āĻ•āĻžāĻ¸ā§āĻŸāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°āĻ¤ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻāĻšā§āĻ›āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻāĻ‡ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻœāĻ¨ā§āĻ¯. āĻŽā§‚āĻ˛āĻ¤ āĻāĻ‡ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ ns3/ āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ -module.h.
āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤, āĻĒā§āĻ°āĻĨāĻŽ āĻŦāĻŋāĻŦā§ƒāĻ¤āĻŋāĻŸāĻŋ āĻšāĻ˛ #include "ns3/ -module.h", āĻ†āĻ°āĻ“ āĻ•āĻŋāĻ›ā§
āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ āĻ‡āĻ¨āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻŸāĻŋāĻ¯āĻŧā§‡āĻļāĻ¨ āĻœā§‹āĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸ā§āĻŸāĻžāĻĢ;

¡ module_helpers.cc: āĻ†āĻĒāĻ¨āĻŋ āĻĒāĻžāĻ‡āĻĨāĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ˛āĻŋāĻ™ā§āĻ• āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻĢāĻžāĻ‡āĻ˛ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ¯ā§‡āĻŽāĻ¨ āĻāĻŸāĻŋ
āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛, āĻ¤āĻŦā§‡ āĻ¤āĻžāĻĻā§‡āĻ° wscript āĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŋāĻ¤ āĻšāĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ¤āĻžāĻ•āĻžāĻ¨ā§‹
āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ¤āĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧ āĻ¤āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ src/core/wscript;

¡ .py: āĻ¯āĻĻāĻŋ āĻāĻ‡ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻĨāĻžāĻ•ā§‡ āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ ns3 āĻāĻ° āĻœāĻ¨ā§āĻ¯ "āĻĢā§āĻ°āĻ¨ā§āĻŸāĻāĻ¨ā§āĻĄ" āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻšāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¯āĻŧ
āĻŽāĻĄāĻŋāĻ‰āĻ˛, āĻāĻŦāĻ‚ āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛ (. āĻ¤āĻžāĻ‡ āĻĢāĻžāĻ‡āĻ˛) āĻšāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¯āĻŧ _ āĻ¤āĻžāĻ‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻ¤āĻžāĻ‡
āĻĻā§āĻ¯ .py āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋāĻ•ā§‡ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻšāĻŋāĻšā§āĻ¨ āĻ†āĻŽāĻĻāĻžāĻ¨āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ _ (āĻāĻŸāĻŋ āĻ†āĻ°āĻ“
āĻāĻŸāĻŋ āĻļā§‹āĻ¨āĻžāĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻ•āĻ āĻŋāĻ¨, āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ src/core/bindings/core.py āĻĻā§‡āĻ–ā§āĻ¨), āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ° āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻ•āĻŋāĻ›ā§ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻŦāĻŋāĻļā§āĻĻā§āĻ§-āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻ¸āĻ‚āĻœā§āĻžāĻžāĨ¤

āĻ…āĻ§āĻŋāĻ• āĻ¤āĻĨā§āĻ¯ āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻžāĻ°āĻ—āĻŖ
āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻ•āĻœāĻ¨ āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€ āĻšāĻ¨ āĻāĻŦāĻ‚ āĻ†āĻ°āĻ“ āĻ¤āĻĨā§āĻ¯ā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¯āĻŧ ns-3āĻāĻ° āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚, āĻ…āĻ¨ā§āĻ—ā§āĻ°āĻš āĻ•āĻ°ā§‡ āĻĻā§‡āĻ–ā§āĻ¨
āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦāĻžāĻāĻ§āĻžāĻ‡ āĻ‰āĻ‡āĻ•āĻŋ āĻĒā§ƒāĻˇā§āĻ āĻž.

āĻŸā§‡āĻ¸ā§āĻŸ
āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻŦāĻŋāĻŦāĻ°āĻŖ
āĻāĻ‡ āĻ¨āĻĨāĻŋāĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻāĻŦāĻ‚ āĻŦā§ˆāĻ§āĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ ns-3 āĻ¸āĻĢāĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°.

āĻāĻ‡ āĻ¨āĻĨāĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡

¡ āĻĒāĻ°āĻŋāĻ­āĻžāĻˇāĻž āĻāĻŦāĻ‚ āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻĒāĻŸāĻ­ā§‚āĻŽāĻŋ (āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ 2);

¡ ns-3 āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ•āĻžāĻ āĻžāĻŽā§‹āĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻŦāĻ°āĻŖ (āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ 3);

āĻŽāĻĄā§‡āĻ˛ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻžāĻ° āĻŦāĻž āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻĄā§‡āĻ˛ āĻ…āĻŦāĻĻāĻžāĻ¨āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻŋāĻ•āĻž āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻšāĻ¯āĻŧ (āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ
4);

āĻ¸āĻ‚āĻ•ā§āĻˇā§‡āĻĒā§‡, āĻĒā§āĻ°āĻĨāĻŽ āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ ns āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻžāĻ° āĻāĻŦāĻ‚ āĻ…āĻŦāĻĻāĻžāĻ¨āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻĒāĻĄāĻŧāĻž āĻ‰āĻšāĻŋāĻ¤ āĻ¯āĻžāĻ°āĻž
āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ•ā§‹āĻĄ āĻāĻŦāĻ‚ āĻŦā§ˆāĻ§ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻ—ā§āĻ˛āĻŋ āĻāĻŦāĻ‚ āĻ…āĻŦāĻļāĻŋāĻˇā§āĻŸāĻ—ā§āĻ˛āĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ…āĻŦāĻĻāĻžāĻ¨ āĻ°āĻžāĻ–āĻ¤ā§‡ āĻšāĻ¯āĻŧ āĻ¤āĻž āĻŦā§āĻāĻ¤ā§‡ āĻšāĻŦā§‡
āĻ¨āĻĨāĻŋāĻ° āĻ˛ā§‹āĻ•ā§‡āĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻŋāĻ¤ āĻŽāĻĄā§‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻ•ā§‹āĻ¨ āĻĻāĻŋāĻ•āĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ°āĻŋāĻĒā§‹āĻ°ā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸ā§āĻĨāĻžāĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ā§ˇ
āĻŦā§ˆāĻ§ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻĒāĻŸāĻ­ā§‚āĻŽāĻŋ
āĻāĻ‡ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ may be āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§‡ āĻ—ā§‡āĻ›ā§‡ by āĻĒāĻžāĻ āĻ•āĻĻā§‡āĻ° āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ āĻ¸āĻ™ā§āĻ—ā§‡ āĻĻā§āĻ¯ āĻŽā§‚āĻ˛āĻ¸ā§‚āĻ¤ā§āĻ° of āĻ¸āĻĢāĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻŽā§‚āĻ˛āĻ•.

āĻ¤ā§āĻ°ā§āĻŸāĻŋ-āĻŽā§āĻ•ā§āĻ¤ āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ˛ā§‡āĻ–āĻž āĻāĻ•āĻŸāĻŋ āĻ•āĻ āĻŋāĻ¨ āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦāĨ¤ āĻ…āĻ¨ā§‡āĻ• āĻŽāĻžāĻ¤ā§āĻ°āĻž āĻ†āĻ›ā§‡
āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻāĻŦāĻ‚ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĒāĻĻ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ•āĻŋ āĻŦā§‹āĻāĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧ āĻ¸ā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ…āĻ¨ā§‡āĻ• āĻŦāĻŋāĻ­ā§āĻ°āĻžāĻ¨ā§āĻ¤āĻŋ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡
āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ— āĻ†āĻŽāĻ°āĻž āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸā§ āĻ¸āĻŽāĻ¯āĻŧ āĻŦā§āĻ¯āĻ¯āĻŧ āĻ•āĻ°āĻž āĻ¸āĻžāĻ°ā§āĻĨāĻ• āĻŦāĻ˛ā§‡ āĻŽāĻ¨ā§‡ āĻ•āĻ°ā§‡āĻ›āĻŋ
āĻŦāĻŋāĻˇāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ•āĻŋāĻ›ā§ āĻĒāĻĻ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻžāĨ¤

āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻžāĻ° āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ†āĻ˛āĻ—āĻžāĻ­āĻžāĻŦā§‡ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ–ā§āĻāĻœā§‡ āĻŦā§‡āĻ° āĻ•āĻ°āĻžāĻ° āĻ…āĻ­āĻŋāĻĒā§āĻ°āĻžāĻ¯āĻŧāĨ¤ āĻ¯āĻ–āĻ¨ āĻ•ā§‡āĻ‰ āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§‡ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻŦā§‡āĻļ āĻ•āĻ°ā§‡, āĻ¤āĻ–āĻ¨ āĻāĻŸāĻŋ
āĻĻā§āĻ°ā§āĻ¤ āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻšāĻ¯āĻŧā§‡ āĻ“āĻ ā§‡ āĻ¯ā§‡ āĻ…āĻ¨ā§‡āĻ•āĻ—ā§āĻ˛āĻŋ āĻ¸ā§āĻŦāĻ¤āĻ¨ā§āĻ¤ā§āĻ° āĻŽāĻ¨-āĻ¸ā§‡āĻŸ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻžāĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ā§‡ āĻ•ā§‡āĻ‰ āĻĒāĻžāĻ°ā§‡
āĻŦāĻŋāĻˇāĻ¯āĻŧā§‡āĻ° āĻ•āĻžāĻ›ā§‡ āĻ¯āĻžāĻ¨āĨ¤

āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ•ā§‡āĻ‰ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋāĻ•ā§‡ āĻŦāĻŋāĻ¸ā§āĻ¤ā§ƒāĻ¤ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°ā§€ āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ āĻŦāĻŋāĻ­āĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¯ā§‡āĻŽāĻ¨
''āĻ¸āĻ āĻŋāĻ•āĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž,''''āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž,''''āĻĻā§ƒāĻĸāĻŧāĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž'' āĻāĻŦāĻ‚ ''āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž
āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĨ¤'' āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻŸāĻŋ āĻĻā§‡āĻ–āĻžāĻ° āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻšāĻ˛ āĻœā§€āĻŦāĻ¨āĻšāĻ•ā§āĻ°: ''āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧāĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž,''
''āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻŸā§‡āĻ¸ā§āĻŸāĻŋāĻ‚,''''āĻ—ā§āĻ°āĻšāĻŖāĻ¯ā§‹āĻ—ā§āĻ¯āĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž,''āĻāĻŦāĻ‚ ''āĻ°āĻ•ā§āĻˇāĻŖāĻžāĻŦā§‡āĻ•ā§āĻˇāĻŖ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĨ¤'' āĻ…āĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĻā§ƒāĻļā§āĻ¯āĨ¤
āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻŋāĻ¤ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ¸ā§āĻ¯ā§‹āĻ— āĻĻā§āĻŦāĻžāĻ°āĻž āĻšāĻ¯āĻŧ. āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ•ā§‡āĻ‰ ''āĻ‡āĻ‰āĻ¨āĻŋāĻŸ āĻŸā§‡āĻ¸ā§āĻŸāĻŋāĻ‚'' āĻāĻ° āĻ•āĻĨāĻž āĻŦāĻ˛āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤
''āĻ•āĻŽā§āĻĒā§‹āĻ¨ā§‡āĻ¨ā§āĻŸ āĻŸā§‡āĻ¸ā§āĻŸāĻŋāĻ‚,'''' āĻ‡āĻ¨ā§āĻŸāĻŋāĻ—ā§āĻ°ā§‡āĻļāĻ¨ āĻŸā§‡āĻ¸ā§āĻŸāĻŋāĻ‚'' āĻāĻŦāĻ‚ ''āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻŸā§‡āĻ¸ā§āĻŸāĻŋāĻ‚'' āĻāĻ‡ āĻĒāĻĻāĻ—ā§āĻ˛āĻŋ āĻšāĻ˛
āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ āĻ•ā§‹āĻ¨ā§‹āĻ­āĻžāĻŦā§‡āĻ‡ āĻŽāĻžāĻ¨āĻ¸āĻŽā§āĻŽāĻ¤ āĻ¨āĻ¯āĻŧ, āĻāĻŦāĻ‚ āĻ¤āĻžāĻ‡ ''āĻ°āĻ•ā§āĻˇāĻŖāĻžāĻŦā§‡āĻ•ā§āĻˇāĻŖ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž'' āĻāĻŦāĻ‚ ''āĻ°āĻŋāĻ—ā§āĻ°ā§‡āĻļāĻ¨
āĻŸā§‡āĻ¸ā§āĻŸāĻŋāĻ‚'' āĻŦāĻŋāĻ¨āĻŋāĻŽāĻ¯āĻŧāĻ¯ā§‹āĻ—ā§āĻ¯āĻ­āĻžāĻŦā§‡ āĻļā§‹āĻ¨āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ‰āĻĒāĻ°āĻ¨ā§āĻ¤ā§, āĻāĻ‡ āĻļāĻ°ā§āĻ¤āĻžāĻŦāĻ˛ā§€ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻ‡ āĻ…āĻĒāĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ.

āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĻāĻžāĻ°ā§āĻļāĻ¨āĻŋāĻ• āĻĒāĻ¨ā§āĻĨāĻžāĻ“ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻœāĻ¨ā§āĻ¯
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ•āĻŋāĻ›ā§ āĻ¸āĻ‚āĻ¸ā§āĻĨāĻž āĻŦāĻžāĻ¸ā§āĻ¤āĻŦā§‡ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻ†āĻ—ā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻŽā§‚āĻ˛āĻ• āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻ˛ā§‡āĻ–āĻžāĻ° āĻĒāĻ•ā§āĻˇā§‡
āĻĒāĻ›āĻ¨ā§āĻĻāĻ¸āĻ‡ āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°, āĻĢāĻ˛āĻ¨ ''āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž-āĻšāĻžāĻ˛āĻŋāĻ¤ āĻ‰āĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨āĨ¤'' āĻ•āĻŋāĻ›ā§ āĻ¸āĻ‚āĻ¸ā§āĻĨāĻž āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡
āĻ¯āĻ¤ āĻ¤āĻžāĻĄāĻŧāĻžāĻ¤āĻžāĻĄāĻŧāĻŋ āĻ¸āĻŽā§āĻ­āĻŦ āĻāĻ•āĻŸāĻŋ āĻ—ā§āĻ°āĻžāĻšāĻ•ā§‡āĻ° āĻĻā§ƒāĻˇā§āĻŸāĻŋāĻ•ā§‹āĻŖ āĻĨā§‡āĻ•ā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž, āĻ¸āĻ™ā§āĻ—ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛ āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ
āĻšāĻŸāĻĒāĻŸā§‡ āĻŦāĻŋāĻ•āĻžāĻļ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž: ''āĻĒā§āĻ°āĻĨāĻŽ āĻĻāĻŋāĻ•ā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§āĻ¨āĨ¤'' āĻāĻŸāĻŋāĻ•ā§‡ āĻ•āĻ–āĻ¨āĻ“ āĻ•āĻ–āĻ¨āĻ“ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ
''āĻšāĻŸāĻĒāĻŸ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĨ¤'' āĻŽāĻ¨ā§‡ āĻšāĻšā§āĻ›ā§‡ āĻĒā§āĻ°āĻ¤ā§āĻ¯ā§‡āĻ•ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ¨ā§āĻ¤āĻ¤ āĻāĻ•āĻŸāĻŋ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ†āĻ›ā§‡
āĻ‰āĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĨ¤

āĻ¸āĻžāĻ°ā§āĻœāĻžāĻ°āĻŋāĻ° ns-3 āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒāĻŸāĻŋ āĻāĻ‡ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻ¯ā§‡ āĻ•ā§‹āĻ¨āĻ“ āĻāĻ•āĻŸāĻŋāĻ° āĻĒāĻ•ā§āĻˇā§‡ āĻ“āĻ•āĻžāĻ˛āĻ¤āĻŋ āĻ•āĻ°āĻžāĻ° āĻŦā§āĻ¯āĻŦāĻ¸āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¨āĻ¯āĻŧ, āĻ¤āĻŦā§‡
āĻĒā§āĻ°ā§‹ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧāĻ¤āĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻœāĻžāĻ¨āĻžāĻ¤ā§‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°ā§‡āĨ¤

āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻĒāĻŖā§āĻ¯ā§‡āĻ° āĻŽāĻ¤, ns-3 āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻĨāĻžāĻ•āĻž āĻ†āĻŦāĻļā§āĻ¯āĻ• āĻ—ā§āĻŖāĻžāĻŦāĻ˛ā§€ āĻ†āĻ›ā§‡
āĻĒāĻŖā§āĻ¯āĻŸāĻŋ āĻ¸āĻĢāĻ˛ āĻšāĻŦā§‡āĨ¤ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻĻā§ƒāĻˇā§āĻŸāĻŋāĻ•ā§‹āĻŖ āĻĨā§‡āĻ•ā§‡, āĻāĻ‡ āĻ—ā§āĻŖāĻžāĻŦāĻ˛ā§€ āĻ¯ā§‡ āĻ•āĻŋāĻ›ā§ āĻšāĻ¤ā§‡ āĻšāĻŦā§‡
āĻ¸āĻŽā§āĻŦā§‹āĻ§āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¯ā§‡ ns-3 āĻšāĻ¤ā§‡ āĻšāĻŦā§‡ ''āĻ¸āĻ āĻŋāĻ•,''''āĻļāĻ•ā§āĻ¤āĻŋāĻļāĻžāĻ˛ā§€,''''āĻĒāĻžāĻ°āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¸'' āĻāĻŦāĻ‚
''āĻ°āĻ•ā§āĻˇāĻŖāĻžāĻŦā§‡āĻ•ā§āĻˇāĻŖāĻ¯ā§‹āĻ—ā§āĻ¯āĨ¤'' āĻ†āĻĻāĻ°ā§āĻļāĻ­āĻžāĻŦā§‡ āĻāĻ‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻŽāĻžāĻ¤ā§āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŽā§‡āĻŸā§āĻ°āĻŋāĻ•ā§āĻ¸ āĻĨāĻžāĻ•āĻž āĻ‰āĻšāĻŋāĻ¤
āĻĒāĻŖā§āĻ¯āĻŸāĻŋ āĻ•āĻ–āĻ¨ āĻ¤āĻžāĻ° āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻž āĻĒā§‚āĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻ¯āĻŧ āĻ¤āĻž āĻ¸āĻ¨āĻžāĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ /
āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧāĻ¤āĻžāĨ¤

āĻ¸āĻ āĻŋāĻ•āĻ¤āĻž
āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ…āĻĒāĻ°āĻŋāĻšāĻžāĻ°ā§āĻ¯ āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ āĻšāĻ˛ āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ…āĻ‚āĻļ āĻ†āĻšāĻ°āĻŖ āĻ•āĻ°ā§‡ āĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°āĻž
''āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡āĨ¤'' āĻœāĻ¨ā§āĻ¯ ns-3 āĻāĻ° āĻŽāĻžāĻ¨ā§‡ āĻšāĻ˛ āĻ¯ā§‡ āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻ°āĻž āĻ•āĻŋāĻ›ā§ āĻ…āĻ¨ā§āĻ•āĻ°āĻŖ āĻ•āĻ°āĻŋ, āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤
āĻŦāĻŋāĻļā§āĻŦāĻ¸ā§āĻ¤āĻ­āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¨āĻŋāĻ°ā§āĻ­ā§āĻ˛āĻ¤āĻž āĻ•āĻŋāĻ›ā§ āĻļāĻžāĻ°ā§€āĻ°āĻŋāĻ• āĻ¸āĻ¤ā§āĻ¤āĻž āĻŦāĻž āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĒā§āĻ°āĻ¤āĻŋāĻ¨āĻŋāĻ§āĻŋāĻ¤ā§āĻŦ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚
āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ¤āĻžāĨ¤

āĻĻā§‡āĻ–āĻž āĻ¯āĻžāĻšā§āĻ›ā§‡ āĻ¯ā§‡ āĻĻā§āĻŸāĻŋ āĻĻā§ƒāĻˇā§āĻŸāĻŋāĻ•ā§‹āĻŖ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻœāĻ¨ āĻ¸āĻ āĻŋāĻ•āĻ¤āĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤
āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻŽāĻĄā§‡āĻ˛ āĻ¤āĻžāĻ° āĻ¸ā§āĻĒā§‡āĻ¸āĻŋāĻĢāĻŋāĻ•ā§‡āĻļāĻ¨ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§€ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻ¤āĻž āĻ¯āĻžāĻšāĻžāĻ‡ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ­āĻžāĻŦā§‡ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ āĻĒā§āĻ°āĻ¤āĻŋāĻĒāĻžāĻĻāĻ¨. āĻŽāĻĄā§‡āĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ āĻŋāĻ• āĻ¯ā§‡ āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž
āĻāĻ° āĻ‰āĻĻā§āĻĻāĻŋāĻˇā§āĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•ā§‡ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ­āĻžāĻŦā§‡ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ āĻŦā§ˆāĻ§āĻ¤āĻž.

āĻ­ā§āĻ¯āĻžāĻ˛āĻŋāĻĄā§‡āĻļāĻ¨ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¤āĻŋāĻĒāĻžāĻĻāĻ¨
āĻāĻ•āĻŸāĻŋ āĻ•āĻŽā§āĻĒāĻŋāĻ‰āĻŸāĻžāĻ° āĻŽāĻĄā§‡āĻ˛ āĻšāĻ˛ āĻ•ā§‹āĻ¨ā§‹ āĻ•āĻŋāĻ›ā§āĻ° āĻ—āĻžāĻŖāĻŋāĻ¤āĻŋāĻ• āĻŦāĻž āĻ¯ā§ŒāĻ•ā§āĻ¤āĻŋāĻ• āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĨ¤ āĻāĻŸāĻž āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻāĻ•āĻŸāĻŋ āĻ¯āĻžāĻ¨āĻŦāĻžāĻšāĻ¨, āĻāĻ•āĻŸāĻŋ āĻšāĻžāĻ¤āĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ¨āĻŋāĻ§āĻŋāĻ¤ā§āĻŦ āĻ•āĻ°ā§āĻ¨ (āĻĻā§‡āĻ–ā§āĻ¨ āĻĄā§‡āĻ­āĻŋāĻĄ āĻšāĻžāĻ°ā§‡āĻ˛ā§‡āĻ° āĻ†āĻ˛āĻžāĻĒ āĻ¸āĻŽā§āĻŦāĻ¨ā§āĻ§ā§‡ āĻŽā§‚āĻ°ā§āĻ¤āĻŋāĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ an āĻšāĻžāĻ¤āĻŋ at
āĻ¸āĻŋāĻŽā§āĻŸā§āĻ˛ 2009, āĻ…āĻĨāĻŦāĻž āĻāĻ•āĻŸāĻŋ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻŋāĻ‚ āĻ•āĻžāĻ°ā§āĻĄāĨ¤ āĻŽāĻĄā§‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻŦāĻŋāĻļā§āĻŦāĻŦā§āĻ¯āĻžāĻĒā§€ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ—ā§āĻ˛āĻŋāĻ•ā§‡āĻ“ āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ‰āĻˇā§āĻŖāĻžāĻ¯āĻŧāĻ¨, āĻĢā§āĻ°āĻŋāĻ“āĻ¯āĻŧā§‡ āĻŸā§āĻ°āĻžāĻĢāĻŋāĻ• āĻĒā§āĻ°āĻŦāĻžāĻš āĻŦāĻž āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻŋāĻ‚ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻĒā§‡āĻ¸āĻŋāĻĢāĻŋāĻ•ā§‡āĻļāĻ¨āĨ¤ āĻŽāĻĄā§‡āĻ˛ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻāĻ•āĻŸāĻŋ āĻ¯ā§ŒāĻ•ā§āĻ¤āĻŋāĻ• āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¸ā§āĻĒā§‡āĻ¸āĻŋāĻĢāĻŋāĻ•ā§‡āĻļāĻ¨ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻŦāĻŋāĻļā§āĻŦāĻ¸ā§āĻ¤ āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¤āĻžāĻ°āĻž
āĻ…āĻ—āĻ¤ā§āĻ¯āĻž āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻāĻ•āĻŸāĻŋ āĻ­ā§ŒāĻ¤ ​​āĻŦāĻ¸ā§āĻ¤ā§ āĻŦāĻž āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ…āĻ¨ā§āĻ•āĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¨āĻž. āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ•
āĻ•āĻŽā§āĻĒāĻŋāĻ‰āĻŸā§‡āĻļāĻ¨āĻžāĻ˛āĻ­āĻžāĻŦā§‡ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŽāĻĄā§‡āĻ˛āĻŸāĻŋāĻ¤ā§‡ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻ• āĻ¸āĻ°āĻ˛ā§€āĻ•āĻ°āĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻŸā§āĻ°ā§āĻ¯āĻžāĻ•ā§āĻŸā§‡āĻŦāĻ˛

āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻŽāĻĄā§‡āĻ˛ āĻāĻ•āĻŸāĻŋ āĻ†āĻ›ā§‡ āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻāĻŸāĻž āĻ…āĻ¨ā§āĻ•āĻ°āĻŖ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ. āĻĒā§āĻ°āĻĨāĻŽ āĻ§āĻžāĻĒ
āĻāĻ•āĻŸāĻŋ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻŽāĻĄā§‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ˛ āĻāĻ‡ āĻŸāĻžāĻ°ā§āĻ—ā§‡āĻŸ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻāĻŦāĻ‚ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻ¸ā§āĻ¤āĻ° āĻ¸āĻ¨āĻžāĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻāĻŦāĻ‚
āĻ¨āĻŋāĻ°ā§āĻ­ā§āĻ˛āĻ¤āĻž āĻ¯ā§‡ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨āĻŸāĻŋ āĻĒā§āĻ¨āĻ°ā§āĻ¤ā§āĻĒāĻžāĻĻāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¯āĻŧāĨ¤ āĻ¯ā§ŒāĻ•ā§āĻ¤āĻŋāĻ• āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡,
āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻŸāĻŋāĻ•ā§‡ "RFC 793 āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ TCP" āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻšāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻāĻŸāĻŋ
āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻāĻ•āĻŸāĻŋ āĻŽāĻĄā§‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻŦāĻžāĻžā§āĻ›āĻ¨ā§€āĻ¯āĻŧ āĻšāĻŦā§‡ āĻ¯āĻž āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻāĻŦāĻ‚ āĻŦāĻŋāĻļā§āĻŦāĻ¸ā§āĻ¤āĻ­āĻžāĻŦā§‡ RFC āĻĒā§āĻ¨āĻ°ā§āĻ¤ā§āĻĒāĻžāĻĻāĻ¨ āĻ•āĻ°ā§‡
793. āĻļāĻžāĻ°ā§€āĻ°āĻŋāĻ• āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻāĻŸāĻŋ āĻ¸āĻŽā§āĻ­āĻŦ āĻšāĻŦā§‡ āĻ¨āĻžāĨ¤ āĻ¯āĻĻāĻŋ, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ†āĻĒāĻ¨āĻŋ
āĻāĻ•āĻŸāĻŋ āĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻ˛ā§‡āĻ¸ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻŋāĻ‚ āĻ•āĻžāĻ°ā§āĻĄ āĻ…āĻ¨ā§āĻ•āĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨, āĻ†āĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨, ''āĻāĻ•āĻŸāĻŋ
802.11 āĻ¸ā§āĻĒā§‡āĻ¸āĻŋāĻĢāĻŋāĻ•ā§‡āĻļāĻ¨ā§‡āĻ° āĻ¸āĻ āĻŋāĻ• MAC-āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻāĻŦāĻ‚ [...] āĻ–ā§āĻŦ āĻ§ā§€āĻ° āĻ¨āĻ¯āĻŧ
802.11a āĻ¸ā§āĻĒā§‡āĻ¸āĻŋāĻĢāĻŋāĻ•ā§‡āĻļāĻ¨ā§‡āĻ° PHY-āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻŽāĻĄā§‡āĻ˛ā§ˇ''

āĻāĻ•āĻŦāĻžāĻ° āĻāĻŸāĻŋ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻšāĻ˛ā§‡, āĻ•ā§‡āĻ‰ āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻŽā§‚āĻ°ā§āĻ¤ āĻŽāĻĄā§‡āĻ˛ āĻŦāĻŋāĻ•āĻžāĻļ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻ‡
āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻœāĻŸāĻŋāĻ˛āĻ¤āĻž, āĻ¸āĻŽā§āĻĒāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧāĻ¤āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻŸā§āĻ°ā§‡āĻĄāĻ…āĻĢ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨ā§āĻļā§€āĻ˛āĻ¨
āĻāĻŦāĻ‚ āĻ¨āĻŋāĻ°ā§āĻ­ā§āĻ˛āĻ¤āĻžāĨ¤ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻŽā§‚āĻ°ā§āĻ¤ āĻŽāĻĄā§‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋāĻ° āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻŽāĻĄā§‡āĻ˛
āĻ¯ā§‹āĻ—ā§āĻ¯āĻ¤āĻž āĻ¸āĻžāĻšāĻŋāĻ¤ā§āĻ¯ā§‡. āĻāĻ•āĻŸāĻŋ TCP āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻāĻ‡ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋāĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ a
āĻŦāĻ¸ā§āĻ¤ā§, āĻŽāĻŋāĻĨāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻŦāĻ‚ āĻ†āĻšāĻ°āĻŖā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻ¯āĻž āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻŦā§‡
RFC 793 in ns-3. āĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻ˛ā§‡āĻ¸ āĻ•āĻžāĻ°ā§āĻĄā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻāĻ‡ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋāĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ…āĻ¨ā§‡āĻ•āĻ—ā§āĻ˛āĻŋ
āĻŸā§āĻ°ā§‡āĻĄāĻ…āĻĢ āĻĢāĻŋāĻœāĻŋāĻ•ā§āĻ¯āĻžāĻ˛ āĻ˛ā§‡āĻ¯āĻŧāĻžāĻ°āĻ•ā§‡ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸ āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡āĻ° āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧ
āĻāĻŦāĻ‚ āĻ•āĻžāĻ™ā§āĻ•ā§āĻˇāĻŋāĻ¤ āĻŦāĻ¸ā§āĻ¤ā§, āĻŽāĻŋāĻĨāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻŦāĻ‚ āĻ†āĻšāĻ°āĻŖ āĻ¸āĻš ns-3 āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻšā§āĻ¯āĻžāĻ¨ā§‡āĻ˛āĨ¤

āĻāĻ‡ āĻŦāĻŋāĻŽā§‚āĻ°ā§āĻ¤ āĻŽāĻĄā§‡āĻ˛ āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ•āĻļāĻŋāĻ¤ āĻšāĻ¯āĻŧ ns-3 āĻŽāĻĄā§‡āĻ˛ āĻ¯āĻž āĻŦāĻŋāĻŽā§‚āĻ°ā§āĻ¤ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°ā§‡
āĻāĻ•āĻŸāĻŋ āĻ•āĻŽā§āĻĒāĻŋāĻ‰āĻŸāĻžāĻ° āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŽāĻĄā§‡āĻ˛āĨ¤ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ° āĻ¸āĻ™ā§āĻ—ā§‡ āĻāĻ•āĻŽāĻ¤ āĻĒā§‹āĻˇāĻŖ āĻ•āĻ°ā§‡
āĻŦāĻŋāĻŽā§‚āĻ°ā§āĻ¤ āĻŽāĻĄā§‡āĻ˛ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ āĻŽāĻĄā§‡āĻ˛ āĻĒā§āĻ°āĻ¤āĻŋāĻĒāĻžāĻĻāĻ¨ āĻ¸āĻžāĻšāĻŋāĻ¤ā§āĻ¯ā§‡.

āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻ–āĻ¨ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ–ā§‹āĻ˛āĻž āĻ˛ā§āĻĒ. āĻ•āĻŋ āĻ…āĻŦāĻļā§‡āĻˇ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ•āĻ˛ā§āĻĒ āĻ•āĻ°āĻž āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ ns-3
āĻŽāĻĄā§‡āĻ˛ā§‡āĻ° āĻ•āĻŋāĻ›ā§ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻŋāĻ›ā§ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ†āĻ›ā§‡ -- āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻŽāĻĄā§‡āĻ˛ āĻāĻ° āĻ¸āĻ āĻŋāĻ• āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž
āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ, āĻāĻ•āĻŸāĻŋ āĻ¯ā§ŒāĻ•ā§āĻ¤āĻŋāĻ• āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻŦāĻž āĻāĻ•āĻŸāĻŋ āĻļāĻžāĻ°ā§€āĻ°āĻŋāĻ• āĻ¸āĻ¤ā§āĻ¤āĻž āĻ•āĻŋāĻ¨āĻž.

āĻ¯āĻĻāĻŋ āĻ•ā§‡āĻ‰ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻŽāĻĄā§‡āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ­āĻŦāĻŋāĻˇā§āĻ¯āĻĻā§āĻŦāĻžāĻŖā§€ āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ•āĻŋāĻ›ā§ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻž āĻšāĻ˛āĻ›ā§‡
āĻ†āĻšāĻ°āĻŖ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻĒāĻ¨āĻžāĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻŦāĻŋāĻļā§āĻŦāĻžāĻ¸ āĻ•āĻ°āĻžāĻ° āĻ•āĻŋāĻ›ā§ āĻ•āĻžāĻ°āĻŖ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻšāĻŦā§‡ -- āĻ…āĻ°ā§āĻĨāĻžā§Ž, āĻ•ā§‡āĻ‰ āĻ•āĻŋ āĻāĻŸāĻž āĻŦāĻŋāĻļā§āĻŦāĻžāĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻŽāĻĄā§‡āĻ˛ āĻĨā§‡āĻ•ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨ā§āĻŽāĻžāĻ¨ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ āĻŋāĻ• āĻ­āĻŦāĻŋāĻˇā§āĻ¯āĻĻā§āĻŦāĻžāĻŖā§€āĻ¤ā§‡ āĻ…āĻ¨ā§āĻŦāĻžāĻĻ āĻ•āĻ°ā§‡āĨ¤
āĻ•āĻžāĻ™ā§āĻ•ā§āĻˇāĻŋāĻ¤ āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻŽāĻ¤ āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ ns-3 āĻŽāĻĄā§‡āĻ˛ā§‡āĻ° āĻ†āĻšāĻ°āĻŖ āĻĒāĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž
āĻŽāĻĄā§‡āĻ˛ āĻ¯ā§‹āĻ—ā§āĻ¯āĻ¤āĻž āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ†āĻšāĻ°āĻŖ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ āĻŽāĻĄā§‡āĻ˛ āĻŦā§ˆāĻ§āĻ¤āĻž āĻŽāĻ§ā§āĻ¯ā§‡
āĻ¸āĻžāĻšāĻŋāĻ¤ā§āĻ¯ āĻāĻ•āĻŸāĻŋ TCP āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻāĻ° āĻ†āĻšāĻ°āĻŖ āĻ¤ā§āĻ˛āĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻ†āĻĒāĻ¨āĻžāĻ° āĻŽāĻĄā§‡āĻ˛ āĻ¯āĻžāĻšāĻžāĻ‡ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻŋāĻ›ā§ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻĒāĻ¨āĻžāĻ° ns-3 TCP āĻŽāĻĄā§‡āĻ˛āĨ¤ āĻ­āĻŋāĻ¤āĻ°ā§‡
āĻāĻ•āĻŸāĻŋ āĻŦā§‡āĻ¤āĻžāĻ° āĻļāĻžāĻ°ā§€āĻ°āĻŋāĻ• āĻ¸ā§āĻ¤āĻ° āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻšāĻ°āĻŖ āĻ¤ā§āĻ˛āĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ¸ā§‡āĻŸāĻŋāĻ‚āĻ¸ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻŽāĻĄā§‡āĻ˛āĻŸāĻŋ āĻ†āĻ¸āĻ˛ āĻšāĻžāĻ°ā§āĻĄāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡,

āĻ¸āĻžāĻ°ā§āĻœāĻžāĻ°āĻŋāĻ° ns-3 āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻŽāĻĄā§‡āĻ˛ā§‡āĻ° āĻŦā§ˆāĻ§āĻ¤āĻž āĻāĻŦāĻ‚
āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡, āĻāĻŦāĻ‚ āĻ¯āĻžāĻšāĻžāĻ‡āĻ•āĻ°āĻŖā§‡āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĒā§āĻ°āĻ•āĻžāĻļā§‡ āĻ‰ā§ŽāĻ¸āĻžāĻšāĻŋāĻ¤ āĻ•āĻ°ā§‡āĨ¤

āĻŦāĻ˛āĻŋāĻˇā§āĻ āĻ¤āĻž
āĻĻā§ƒāĻĸāĻŧāĻ¤āĻž āĻšāĻ˛ āĻšāĻžāĻĒ, āĻŦāĻž āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ¸āĻšā§āĻ¯ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻ—ā§āĻŖ,
āĻ‡āĻ¨āĻĒā§āĻŸ āĻŦāĻž āĻ—āĻŖāĻ¨āĻž, āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋāĨ¤ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻŦāĻž āĻ¨āĻ•āĻļāĻž "āĻļāĻ•ā§āĻ¤āĻŋāĻļāĻžāĻ˛ā§€" āĻ¯āĻĻāĻŋ āĻāĻŸāĻŋ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻŽā§‹āĻ•āĻžāĻŦā§‡āĻ˛āĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻ¨ā§āĻ¯ā§‚āĻ¨āĻ¤āĻŽ āĻ•ā§āĻˇāĻ¤āĻŋ āĻ¸āĻ™ā§āĻ—ā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨.

āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĢā§‹āĻ•āĻžāĻ¸ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻšāĻŋāĻ¸āĻžāĻŦā§‡
āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¤āĻž āĻĻā§‡āĻ–āĻžāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻŦāĻŋāĻĒā§āĻ˛ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻ• āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡ āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ¸āĻžā§āĻšāĻžāĻ˛āĻ¨ āĻ•āĻ°ā§āĻ¨āĨ¤

āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻŸāĻŋ āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸ āĻ•āĻ°ā§‡ āĻ§āĻžāĻ°āĻŖāĻ•ā§āĻˇāĻŽāĻ¤āĻžāĻ° āĻ•āĻžāĻ›āĻžāĻ•āĻžāĻ›āĻŋ āĻŦāĻž āĻ¤āĻžāĻ° āĻŦā§‡āĻļāĻŋ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĻ“ āĻšāĻžāĻĒ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻŦāĻž āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ§āĻ°āĻŖā§‡āĻ° āĻ¸āĻŽā§āĻĒāĻĻ āĻ¨āĻŋāĻƒāĻ¸āĻ°āĻŖ āĻ…āĻ¨ā§āĻ•āĻ°āĻŖāĨ¤ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻāĻ‡ āĻ§āĻžāĻ°āĻž āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ
''āĻšāĻžāĻĒ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž.''

āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻāĻŦāĻ‚ āĻāĻ° āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ¤āĻĨāĻžāĻ•āĻĨāĻŋāĻ¤ ''āĻ•ā§āĻ˛āĻŋāĻ¨ āĻŸā§‡āĻ¸ā§āĻŸ'' āĻāĻ° āĻ¸āĻ‚āĻ¸ā§āĻĒāĻ°ā§āĻļā§‡ āĻ†āĻ¸āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¯āĻž āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°ā§‡
āĻāĻ•āĻŸāĻŋ āĻ‡āĻ¤āĻŋāĻŦāĻžāĻšāĻ• āĻĢāĻ˛āĻžāĻĢāĻ˛ -- āĻ¯ā§‡ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻāĻ•āĻŸāĻŋ āĻŦāĻĄāĻŧ āĻĒā§āĻ°āĻ¤āĻŋāĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡
āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻ­āĻŋāĻ¨ā§āĻ¨āĻ¤āĻžāĨ¤

āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻāĻŦāĻ‚ āĻāĻ° āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ "āĻ¨ā§‹āĻ‚āĻ°āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž" āĻāĻ° āĻ¸āĻ‚āĻ¸ā§āĻĒāĻ°ā§āĻļā§‡ āĻ†āĻ¸āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¯āĻž āĻ‡āĻ¨āĻĒā§āĻŸ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡
āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤ āĻ¸ā§€āĻŽāĻžāĻ° āĻŦāĻžāĻ‡āĻ°ā§‡āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ¯āĻĻāĻŋ āĻāĻ•āĻŸāĻŋ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻāĻ•āĻŸāĻŋ āĻļā§‚āĻ¨ā§āĻ¯-āĻ¸āĻŽāĻžāĻĒā§āĻ¤ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻ†āĻļāĻž āĻ•āĻ°ā§‡
āĻāĻ•āĻŸāĻŋ āĻĒā§‚āĻ°ā§āĻŖāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ¨āĻŋāĻ§āĻŋāĻ¤ā§āĻŦ, āĻāĻ•āĻŸāĻŋ āĻ¨ā§‹āĻ‚āĻ°āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻŋāĻ¤ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻāĻ‡ āĻ…āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤ āĻ‡āĻ¨āĻĒā§āĻŸā§‡āĻ° āĻĢāĻ˛ā§‡ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•ā§āĻ°ā§āĻ¯āĻžāĻļ āĻ¨āĻž āĻšāĻ¯āĻŧ āĻ¤āĻž āĻ¯āĻžāĻšāĻžāĻ‡ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ•ā§āĻˇāĻ°āĨ¤
āĻĻā§āĻ°ā§āĻ­āĻžāĻ—ā§āĻ¯āĻŦāĻļāĻ¤, āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° ''āĻ¨ā§‹āĻ‚āĻ°āĻž'' āĻ‡āĻ¨āĻĒā§āĻŸ āĻ¸āĻ¨āĻžāĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¤āĻŋāĻ°ā§‹āĻ§āĻŽā§‚āĻ˛āĻ• āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻž āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž
āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻŦāĻŋāĻĒāĻ°ā§āĻ¯āĻ¯āĻŧāĻŽā§‚āĻ˛āĻ•āĻ­āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻ¯āĻŧ āĻ¨āĻž āĻ‰āĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ āĻ“āĻ­āĻžāĻ°āĻšā§‡āĻĄ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻļāĻžāĻ˛ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡.
āĻ‰āĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ•āĻŽāĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯, āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻĻāĻŋāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛
āĻŽāĻ§ā§āĻ¯ā§‡ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ¯āĻžāĻšāĻžāĻ‡āĻ•āĻ°āĻŖ āĻāĻŦāĻ‚ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻžāĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻ•āĻŽāĻŋāĻ¯āĻŧā§‡ āĻĻāĻŋāĻ¨ ns-3 āĻ•ā§‹āĻĄāĻŦā§‡āĻ¸ āĻœāĻ¨ā§āĻ¯
āĻāĻ‡ āĻ•āĻžāĻ°āĻŖā§‡, āĻ†āĻŽāĻ°āĻž āĻ¨ā§‹āĻ‚āĻ°āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§‡āĻļāĻŋ āĻ¸āĻŽāĻ¯āĻŧ āĻŦā§āĻ¯āĻ¯āĻŧ āĻ•āĻ°āĻŋ āĻ¨āĻž -- āĻāĻŸāĻŋ āĻ•ā§‡āĻŦāĻ˛ āĻ‰āĻ¨ā§āĻŽā§‹āĻšāĻŋāĻ¤ āĻ•āĻ°āĻŦā§‡
āĻ¨āĻ•āĻļāĻž āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ā§‡āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ†āĻŽāĻ°āĻž āĻœāĻžāĻ¨āĻŋ āĻ†āĻŽāĻ°āĻž āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋāĨ¤

āĻ†āĻŽāĻ°āĻž āĻ¤āĻž āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡ ns-3 āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ•āĻŋāĻ›ā§ āĻļāĻ°ā§āĻ¤ āĻœā§āĻĄāĻŧā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĨ¤ āĻ†āĻŽāĻ°āĻž
āĻāĻŸāĻŋāĻ•ā§‡ āĻ•āĻŋāĻ›ā§āĻŸāĻž āĻ¸āĻ‚āĻ•ā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻœā§āĻžāĻž āĻ§āĻžāĻ° āĻ¨āĻŋāĻ¨āĨ¤ āĻĻā§āĻ¯ āĻĄā§‹āĻŽā§‡āĻ‡āĻ¨ of āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ—āĻ¯ā§‹āĻ—ā§āĻ¯āĻ¤āĻž is
āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻļāĻ°ā§āĻ¤āĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¸ā§‡āĻŸ āĻ¯āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŽāĻĄā§‡āĻ˛āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¤ā§āĻ˛āĻ¨āĻžāĻ¯āĻŧ
āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻ¤āĻž āĻ¯āĻ¤āĻŸāĻž āĻ¸āĻŽā§āĻ­āĻŦ, āĻāĻŦāĻ‚ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤ āĻŦāĻŋāĻšāĻžāĻ° āĻ•āĻ°āĻžāĨ¤ āĻĻā§āĻ¯ āĻĒāĻ°āĻŋāĻ¸āĻ° of āĻ¸āĻ āĻŋāĻ•āĻ¤āĻž āĻāĻ•āĻŸāĻŋ
āĻĒā§āĻ°āĻ¯ā§‹āĻœā§āĻ¯āĻ¤āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻĄā§‹āĻŽā§‡āĻ¨ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ•āĻŽā§āĻĒāĻŋāĻ‰āĻŸāĻžāĻ°āĻžāĻ‡āĻœāĻĄ āĻŽāĻĄā§‡āĻ˛ āĻāĻŦāĻ‚ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻ¤āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻšā§āĻ•ā§āĻ¤āĻŋāĨ¤

āĻ¸āĻžāĻ°ā§āĻœāĻžāĻ°āĻŋāĻ° ns-3 āĻŸā§‡āĻ¸ā§āĻŸāĻŋāĻ‚ āĻāĻ¨āĻ­āĻžāĻ¯āĻŧāĻ°āĻ¨āĻŽā§‡āĻ¨ā§āĻŸ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻāĻŦāĻ‚ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻ•āĻ°ā§‡
āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ‰āĻĒāĻ° āĻĒāĻ°āĻŋāĻŦā§‡āĻļ (āĻŦāĻŋāĻ˛ā§āĻĄāĻŦāĻŸ) āĻāĻŦāĻ‚ āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ°āĻ•ā§‡ āĻ‰ā§ŽāĻ¸āĻžāĻšāĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§āĻ˛āĻžāĻ¸ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡
āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤ ''āĻĒā§āĻ°āĻ¯ā§‹āĻœā§āĻ¯āĻ¤āĻžāĻ° āĻĄā§‹āĻŽā§‡āĻ¨'' āĻāĻ° āĻ‰āĻĒāĻ° āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ āĻ¯āĻžāĻšāĻžāĻ‡ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž
āĻāĻŦāĻ‚ ''āĻ¨āĻŋāĻ°ā§āĻ­ā§āĻ˛āĻ¤āĻžāĻ° āĻĒāĻ°āĻŋāĻ¸āĻ°''āĨ¤

āĻĒāĻžāĻ°āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻ¨ā§āĻŸ
āĻ āĻŋāĻ• āĻ†āĻ›ā§‡, ''āĻĒāĻžāĻ°āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¸'' āĻāĻ•āĻŸāĻŋ āĻ†āĻ¸āĻ˛ āĻ‡āĻ‚āĻ°ā§‡āĻœāĻŋ āĻļāĻŦā§āĻĻ āĻ¨āĻ¯āĻŧāĨ¤ āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ–ā§āĻŦ āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻ¨āĻŋāĻ“āĻ˛āĻœāĻŋāĻœāĻŽ
āĻāĻŸāĻŋ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ‡ āĻ†āĻŽāĻ°āĻž āĻ¯āĻž āĻšāĻžāĻ‡ āĻ¤āĻž āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧ ns-3 āĻšāĻ¤ā§‡: āĻļāĻ•ā§āĻ¤āĻŋāĻļāĻžāĻ˛ā§€ āĻāĻŦāĻ‚ āĻ¯āĻĨā§‡āĻˇā§āĻŸ āĻĻā§āĻ°ā§āĻ¤
āĻ•āĻžāĻœāĻŸāĻŋ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻ•āĻ°.

āĻāĻŸāĻŋ āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ‡ āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻŦāĻŋāĻ¸ā§āĻ¤ā§ƒāĻ¤ āĻŦāĻŋāĻˇāĻ¯āĻŧ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡āĨ¤ āĻāĻ•
āĻ¯ā§‡ āĻœāĻŋāĻ¨āĻŋāĻ¸āĻ—ā§āĻ˛āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¤āĻž āĻšāĻ˛ āĻĻā§āĻŸāĻŋ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ¤ā§āĻ˛āĻ¨āĻž āĻ•āĻ°āĻž āĻ¯āĻž āĻ­āĻžāĻ˛ āĻĒāĻžāĻ°āĻĢāĻ°ā§āĻŽ āĻ•āĻ°ā§‡ āĻ¤āĻž āĻ–ā§āĻāĻœā§‡ āĻŦā§‡āĻ° āĻ•āĻ°āĻž (cf
āĻŦā§‡āĻžā§āĻšāĻŽāĻžāĻ°ā§āĻ•)āĨ¤ āĻāĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧ, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, ns-3 āĻāĻ•āĻŸāĻŋ āĻŽā§ŒāĻ˛āĻŋāĻ• āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ¸āĻžā§āĻšāĻžāĻ˛āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ…āĻ¨ā§āĻ¤āĻ¤ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ¯ā§‹āĻ—ā§€ āĻŸā§āĻ˛ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻĻā§āĻ°ā§āĻ¤, āĻŦāĻž āĻ…āĻ‚āĻļ āĻ¸āĻ¨āĻžāĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ¯ā§‡ āĻ–āĻžāĻ°āĻžāĻĒāĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡.

āĻŽāĻ§ā§āĻ¯ā§‡ ns-3 āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•, āĻ†āĻŽāĻ°āĻž āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ§āĻ°āĻŖā§‡āĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻšāĻžāĻ¯āĻŧāĻ¤āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻŋāĨ¤

Maintainability
āĻāĻ•āĻŸāĻŋ āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻĒāĻŖā§āĻ¯ āĻ°āĻ•ā§āĻˇāĻŖāĻžāĻŦā§‡āĻ•ā§āĻˇāĻŖāĻ¯ā§‹āĻ—ā§āĻ¯ āĻšāĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻāĻŸāĻŋ, āĻ†āĻŦāĻžāĻ°, āĻāĻ•āĻŸāĻŋ āĻ–ā§āĻŦ āĻŦāĻŋāĻ¸ā§āĻ¤ā§ƒāĻ¤ āĻŦāĻŋāĻŦā§ƒāĻ¤āĻŋ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ•āĻŸāĻŋ
āĻŸā§‡āĻ¸ā§āĻŸāĻŋāĻ‚ āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻŸāĻžāĻ¸ā§āĻ•ā§‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻ•āĻŦāĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻŽāĻĄā§‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻžāĻšāĻžāĻ‡ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚
āĻ¯āĻžāĻšāĻžāĻ‡ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ†āĻŽāĻ°āĻž āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°ā§‹ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ¸ā§āĻ¯ā§āĻŸ āĻŦāĻžāĻ°āĻŦāĻžāĻ° āĻšāĻžāĻ˛āĻžāĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ
āĻ¯ā§‡ āĻāĻŸāĻŋ āĻ¤āĻžāĻ° āĻœā§€āĻŦāĻĻā§āĻĻāĻļāĻžāĻ¯āĻŧ āĻŦā§ˆāĻ§ āĻāĻŦāĻ‚ āĻ¯āĻžāĻšāĻžāĻ‡ āĻ•āĻ°āĻž āĻĨāĻžāĻ•ā§‡āĨ¤

āĻ¯āĻ–āĻ¨ āĻāĻ•āĻŸāĻŋ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻ•āĻŋāĻ›ā§ āĻ§āĻ°āĻŖā§‡āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§‡āĻ° āĻĒāĻ°ā§‡ āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻž āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°ā§‡
āĻ¸āĻŽāĻ¨ā§āĻŦāĻŋāĻ¤, āĻāĻŸāĻŋāĻ•ā§‡ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ­āĻžāĻŦā§‡ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻ—āĻ¤āĻŋ. āĻŽā§‚āĻ˛āĻ¤ āĻ°āĻŋāĻ—ā§āĻ°ā§‡āĻļāĻ¨ āĻļāĻŦā§āĻĻāĻŸāĻŋ
āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ•ā§‡ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻžāĻ° āĻ•āĻžāĻ°āĻŖā§‡ āĻĒā§‚āĻ°ā§āĻŦā§‡ āĻ¸ā§āĻĨāĻŋāĻ° āĻ•āĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻ— āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ†āĻŦāĻŋāĻ°ā§āĻ­ā§‚āĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻļāĻŦā§āĻĻāĻŸāĻŋ āĻ†āĻ›ā§‡
āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻ­ā§‡āĻ™ā§‡ āĻ¯ā§‡ āĻ•ā§‹āĻ¨ā§‹ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻŦāĻŋāĻ•āĻļāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻāĻ–āĻžāĻ¨ā§‡ āĻ…āĻ¨ā§‡āĻ•
āĻ…āĻ¨ā§āĻļā§€āĻ˛āĻ¨ā§‡ āĻ˜āĻŸāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŽāĻ¨ āĻ§āĻ°āĻŖā§‡āĻ° āĻ°āĻŋāĻ—ā§āĻ°ā§‡āĻļāĻ¨āĨ¤

A āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻ—āĻ¤āĻŋ āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ•ā§‡ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻĒā§āĻ°āĻ­āĻžāĻŦāĻŋāĻ¤ āĻ•āĻ°ā§‡āĨ¤ āĻœāĻ¨ā§āĻ¯
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ¯āĻĻāĻŋ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻāĻŦāĻ‚ āĻŦāĻŋāĻ¨āĻžāĻŽā§‚āĻ˛ā§āĻ¯ā§‡ āĻŽā§‡āĻŽāĻ°āĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻŦāĻžāĻ¸āĻŋ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻšāĻ¯āĻŧ
āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤, āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ¨āĻŋāĻœā§‡āĻ‡ āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻ¯āĻŧ.

A āĻĻā§‚āĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻ—āĻ¤āĻŋ āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ā§‡āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻ­ā§‡āĻ™ā§‡ āĻĻā§‡āĻ¯āĻŧ
āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĨ¤ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻ…āĻ¸ā§āĻŦā§€āĻ•ā§ƒāĻ¤ āĻ˛āĻ™ā§āĻ˜āĻ¨ āĻĒā§āĻ°āĻ¤āĻŋāĻĢāĻ˛āĻŋāĻ¤ āĻ•āĻ°ā§‡ā§ˇ
āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻšā§āĻ•ā§āĻ¤āĻŋāĨ¤

An āĻŽā§āĻ–ā§‹āĻļāĻšā§€āĻ¨ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻ—āĻ¤āĻŋ āĻāĻŸāĻŋ āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻĒā§‚āĻ°ā§āĻŦā§‡ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻ—
āĻ¯ā§‡ āĻ•ā§‹āĻ¨ āĻĒā§āĻ°āĻ­āĻžāĻŦ āĻ›āĻŋāĻ˛ āĻšāĻ āĻžā§Ž āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ‰āĻĻā§āĻ­āĻžāĻ¸āĻŋāĻ¤ āĻšāĻ¯āĻŧ. āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻžāĻ¯āĻŧāĻžāĻŽ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¸āĻšāĻœ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻĒā§āĻ°āĻĨāĻŽāĻŦāĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ•ā§‹āĻĄ āĻĒāĻĨāĨ¤

A āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻ—āĻ¤āĻŋ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧāĻ¤āĻž āĻ•āĻžāĻ°āĻŖ āĻāĻ•āĻŸāĻŋ
āĻ˛āĻ™ā§āĻ˜āĻ¨ āĻ•āĻ°āĻž āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻŽā§āĻ¨ āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡ āĻ•āĻŋāĻ›ā§ āĻ•āĻžāĻœ āĻ•āĻ°āĻž āĻ¯āĻž āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ…āĻ¨ā§‡āĻ• āĻ¸āĻŽāĻ¯āĻŧ āĻšāĻ āĻžā§Ž āĻ•āĻ°ā§‡ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻŸāĻŋāĻ•ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĻā§ƒāĻˇā§āĻŸāĻŋāĻ•ā§‹āĻŖ āĻĨā§‡āĻ•ā§‡ āĻ…āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ¯ā§‹āĻ—ā§āĻ¯ āĻ•āĻ°ā§‡ āĻ¤ā§āĻ˛āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ¸āĻžāĻ°ā§āĻœāĻžāĻ°āĻŋāĻ° ns-3 āĻŸā§‡āĻ¸ā§āĻŸāĻŋāĻ‚ āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ¯āĻžāĻšāĻžāĻ‡ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋāĻ•ā§‡ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚
āĻ¸āĻŽā§āĻ­āĻžāĻŦā§āĻ¯ āĻ°āĻŋāĻ—ā§āĻ°ā§‡āĻļāĻ¨ āĻĻā§āĻ°ā§āĻ¤ āĻ¸āĻ¨āĻžāĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ°āĻžāĻ¤ā§‡āĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¸ā§āĻ¯ā§āĻŸāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻ¯āĻžāĻšāĻžāĻ‡ āĻ•āĻ°ā§āĻ¨āĨ¤

āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻŽā§‚āĻ˛āĻ• āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•
ns-3 āĻāĻ•āĻŸāĻŋ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ•ā§‹āĻ° āĻ‡āĻžā§āĻœāĻŋāĻ¨, āĻŽāĻĄā§‡āĻ˛ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸ā§‡āĻŸ, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ—āĻ āĻŋāĻ¤āĨ¤
āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻĨā§‡, āĻ¨āĻ¤ā§āĻ¨ āĻ…āĻŦāĻĻāĻžāĻ¨āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻŽāĻĄā§‡āĻ˛, āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻāĻŦāĻ‚ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻāĻ•āĻŸāĻŋ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ
test.py āĻŸā§‡āĻ¸ā§āĻŸ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻļāĻ¨ āĻŽā§āĻ¯āĻžāĻ¨ā§‡āĻœāĻžāĻ° āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡; test.py āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•ā§‹āĻĄ āĻāĻŦāĻ‚ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻžāĻ˛āĻžāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻ°āĻŋāĻ—ā§āĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻ•āĻ°ā§āĻ¨, āĻĢāĻ˛āĻžāĻĢāĻ˛āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻĢāĻ°ā§āĻŽā§‡ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŦāĻ‚ āĻ•ā§‹āĻĄ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ•āĻ­āĻžāĻ°ā§‡āĻœ āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖ āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽāĨ¤ āĻāĻ‡ āĻ‰āĻĒāĻ°ā§‡, āĻ†āĻŽāĻ°āĻž āĻ¸ā§āĻ¤āĻ° āĻŦāĻŋāĻ˛ā§āĻĄāĻŦāĻŸ āĻ¯ā§‡āĻ—ā§āĻ˛ā§‹ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻŦāĻŋāĻ˛ā§āĻĄ
āĻ°ā§‹āĻŦāĻŸ āĻ¯ā§‡āĻ—ā§āĻ˛āĻŋ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ•āĻžāĻ āĻžāĻŽā§‹ āĻšāĻžāĻ˛āĻŋāĻ¯āĻŧā§‡ āĻĻā§ƒāĻĸāĻŧāĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡
āĻāĻŦāĻ‚ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ…āĻĒāĻļāĻ¨ āĻ¸āĻšāĨ¤

āĻŦāĻŋāĻ˛ā§āĻĄāĻŦāĻŸāĻ¸
NS-3 āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ¸āĻ°ā§āĻŦā§‹āĻšā§āĻš āĻ¸ā§āĻ¤āĻ°ā§‡ āĻŦāĻŋāĻ˛ā§āĻĄāĻŦāĻŸ (āĻŦāĻŋāĻ˛ā§āĻĄ āĻ°ā§‹āĻŦāĻŸ) āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ¯āĻĻāĻŋ āĻ¤ā§āĻŽāĻŋ āĻšāĻ“
āĻāĻ‡ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ¤āĻžāĻ•āĻžāĻ¨ āĻ¸āĻ™ā§āĻ—ā§‡ āĻ…āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ http://djmitche.github.com/buildbot/docs/0.7.11/.
āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ“āĻĒā§‡āĻ¨ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ¯āĻž āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧ ns-3 āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĒā§āĻ¨āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻž āĻšāĻŦā§‡
āĻ¸āĻŽāĻ¯āĻŧ āĻ•āĻŋāĻ›ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡. āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻŦāĻŋāĻ˛ā§āĻĄāĻŦāĻŸ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ†āĻŽāĻ°āĻž
āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ ns-3 āĻāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻšāĻžāĻ˛āĻžāĻ¯āĻŧāĨ¤

āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž (āĻāĻŦāĻ‚ āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€āĻ°āĻž) āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻŦāĻŋāĻ˛ā§āĻĄāĻŦāĻŸ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ…āĻ¨ā§āĻ¯ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§‹āĻ—āĻžāĻ¯ā§‹āĻ— āĻ•āĻ°āĻŦā§‡ āĻ¨āĻž
āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻ¤āĻžāĻ° āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻĒāĻĄāĻŧā§āĻ¨āĨ¤ āĻ¯āĻĻāĻŋ āĻ•ā§‹āĻ¨ āĻāĻ•āĻŸāĻŋāĻ¤ā§‡ āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻž āĻ§āĻ°āĻž āĻĒāĻĄāĻŧā§‡
āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻŦāĻŋāĻ˛ā§āĻĄ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ•āĻžāĻœ, āĻŦāĻŋāĻ˛ā§āĻĄāĻŦāĻŸ āĻāĻ•āĻŸāĻŋ āĻ‡āĻŽā§‡āĻ˛ āĻĒāĻžāĻ āĻžāĻŦā§‡ ns-āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻžāĻ°āĻ°āĻž
āĻŽā§‡āĻ‡āĻ˛āĻŋāĻ‚ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĨ¤ āĻāĻ‡ āĻ‡āĻŽā§‡āĻ˛ āĻŽāĻ¤ āĻ•āĻŋāĻ›ā§ āĻĻā§‡āĻ–āĻžāĻŦā§‡

āĻ‡āĻŽā§‡āĻ˛ā§‡ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻŦāĻŋāĻŦāĻ°āĻŖ URL-āĻ, āĻ•ā§‡āĻ‰ āĻ•ā§€āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄāĻŸāĻŋ āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻāĻŦāĻ‚
āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°ā§āĻ¨ stdio āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻžāĻ° āĻ•āĻžāĻ°āĻŖ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ āĻ§āĻžāĻĒā§‡āĻ° āĻ˛āĻŋāĻ™ā§āĻ•āĨ¤

āĻŦāĻŋāĻ˛ā§āĻĄāĻŦāĻŸ āĻ¨āĻŋāĻƒāĻļāĻŦā§āĻĻā§‡ āĻ¤āĻžāĻ° āĻ•āĻžāĻœ āĻ•āĻ°āĻŦā§‡ āĻ¯āĻĻāĻŋ āĻ•ā§‹āĻ¨ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ¨āĻž āĻĨāĻžāĻ•ā§‡ āĻāĻŦāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻŸāĻŋ āĻ…āĻ¤āĻŋāĻ•ā§āĻ°āĻŽ āĻ•āĻ°āĻŦā§‡
āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ āĻŋāĻ• āĻ†āĻ›ā§‡ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻ¯āĻžāĻšāĻžāĻ‡ āĻ•āĻ°āĻ¤ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻĻāĻŋāĻ¨ āĻšāĻ•ā§āĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§āĻ¨āĨ¤

Test.py
āĻŦāĻŋāĻ˛ā§āĻĄāĻŦāĻŸ āĻāĻ•āĻŸāĻŋ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡, test.py, āĻ¯ā§‡ āĻ¸āĻŦ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻĻāĻžāĻ¯āĻŧā§€
āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻĢāĻ˛āĻžāĻĢāĻ˛āĻ—ā§āĻ˛āĻŋ āĻŽāĻžāĻ¨āĻŦ-āĻĒāĻžāĻ āĻ¯ā§‹āĻ—ā§āĻ¯ āĻ†āĻ•āĻžāĻ°ā§‡ āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻ•āĻ°āĻžāĨ¤ āĻāĻ‡ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻšāĻ˛
āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻāĻŦāĻ‚ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻžāĻ°āĻĻā§‡āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§āĨ¤

test.py āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ•ā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻāĻŦāĻ‚ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ–ā§āĻŦāĻ‡ āĻ¨āĻŽāĻ¨ā§€āĻ¯āĻŧ
āĻšāĻžāĻ˛āĻžāĻ¨ āĻāĻŦāĻ‚ āĻ‰ā§ŽāĻĒāĻ¨ā§āĻ¨ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻāĻŦāĻ‚ āĻ§āĻ°āĻ¨ā§‡āĻ°.

āĻĻā§ŒāĻĄāĻŧāĻžāĻ¨ā§‹āĻ° āĻ†āĻ—ā§‡ test.py, āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡ ns3 āĻāĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ—ā§āĻ˛āĻŋ āĻ•āĻ°ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ

$ ./waf āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° --enable-examples --enable-tests
$./waf

āĻ—āĻ¤āĻžāĻ¨ā§āĻ—āĻ¤āĻŋāĻ•, test.py āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻ–ā§āĻŦ āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤āĻ­āĻžāĻŦā§‡ āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻĻāĻ¨ āĻ•āĻ°āĻŦā§‡
āĻĢāĻ°ā§āĻŽ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻšāĻžāĻ˛āĻžāĻšā§āĻ›ā§‡āĻ¨

$ ./test.py

āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻšāĻŦā§‡ āĻĒāĻžāĻ¸, āĻŦā§āĻ¯āĻ°ā§āĻĨ, āĻ•ā§āĻ°āĻžāĻļ or āĻāĻĄāĻŧāĻŋāĻ¯āĻŧ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ āĻ‡āĻ™ā§āĻ—āĻŋāĻ¤
āĻ¯ā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ° āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ā§‡āĻ° āĻ¨āĻžāĻŽāĨ¤

Waf: '/home/craigdo/repos/ns-3-allinone-test/ns-3-dev/build' āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻĒā§āĻ°āĻŦā§‡āĻļ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡
āĻ“āĻ¯āĻŧāĻžāĻĢ: āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ›ā§‡āĻĄāĻŧā§‡ āĻ¯āĻžāĻšā§āĻ›ā§‡ `/home/craigdo/repos/ns-3-allinone-test/ns-3-dev/build'
'āĻŦāĻŋāĻ˛ā§āĻĄ' āĻ¸āĻĢāĻ˛āĻ­āĻžāĻŦā§‡ āĻļā§‡āĻˇ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (0.939s)
āĻŦā§āĻ¯āĻ°ā§āĻĨ: TestSuite ns3-āĻ“āĻ¯āĻŧāĻžāĻ‡āĻĢāĻžāĻ‡-āĻĒā§āĻ°āĻšāĻžāĻ°-āĻ•ā§āĻˇāĻ¤āĻŋ-āĻŽāĻĄā§‡āĻ˛
āĻĒāĻžāĻ¸: TestSuite āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ-āĻ¨āĻžāĻŽ-āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž
āĻĒāĻžāĻ¸: TestSuite pcap-file-object
āĻĒāĻžāĻ¸: TestSuite ns3-tcp-cwnd
...
āĻĒāĻžāĻ¸: TestSuite ns3-tcp-āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ…āĻĒāĻžāĻ°ā§‡āĻŦāĻŋāĻ˛āĻŋāĻŸāĻŋ
PASS: āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ csma-āĻ¸āĻŽā§āĻĒā§āĻ°āĻšāĻžāĻ°
PASS: āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ csma-multicast

āĻāĻ‡ āĻŽā§‹āĻĄāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ā§‡ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻžāĻ°āĻž āĻ¤āĻžāĻĻā§‡āĻ° āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻ†āĻ—ā§āĻ°āĻšā§€
āĻĄāĻŋāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻļāĻ¨ āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻ›ā§‡ āĻāĻŦāĻ‚ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻžāĻ°āĻĻā§‡āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¯āĻžāĻ°āĻž āĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻ†āĻ—ā§āĻ°āĻšā§€
āĻ¤āĻžāĻ°āĻž āĻ¯ā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡āĻ›ā§‡ āĻ¤āĻž āĻ•ā§‹āĻ¨ā§‹ āĻ°āĻŋāĻ—ā§āĻ°ā§‡āĻļāĻ¨ āĻ¸ā§ƒāĻˇā§āĻŸāĻŋ āĻ•āĻ°ā§‡āĻ›ā§‡āĨ¤

āĻāĻ° āĻ†āĻšāĻ°āĻŖ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ test.py. āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻŋ āĻšāĻžāĻ˛āĻžāĻ¨
test.py --help āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ¸āĻžāĻ°āĻžāĻ‚āĻļ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¯ā§‡āĻŽāĻ¨:

āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: test.py [āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ]

āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ:
-h, --help āĻāĻ‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻŸāĻŋ āĻĻā§‡āĻ–āĻžāĻ¨ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨ āĻ•āĻ°ā§āĻ¨
-āĻŦāĻŋ āĻŦāĻŋāĻ˛ā§āĻĄāĻĒāĻĨ, --āĻŦāĻŋāĻ˛ā§āĻĄāĻĒāĻĨ=āĻŦāĻŋāĻ˛ā§āĻĄāĻĒāĻĨ
āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ ns-3 āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻ¸ā§‡āĻ‡ āĻĒāĻĨāĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°ā§āĻ¨ (āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ
āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻŦā§ˆāĻ•āĻ˛ā§āĻĒāĻŋāĻ• āĻœāĻ¨ā§āĻ¯ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨)
-c KIND, --constrain=KIND
āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž-āĻ°āĻžāĻ¨āĻžāĻ°āĻ•ā§‡ āĻ¸ā§€āĻŽāĻžāĻŦāĻĻā§āĻ§ āĻ•āĻ°ā§āĻ¨
-e āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ, --example=example
āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°ā§āĻ¨ (āĻ•ā§‹āĻ¨ āĻ†āĻĒā§‡āĻ•ā§āĻˇāĻŋāĻ• āĻĒāĻĨ āĻ¨ā§‡āĻ‡
āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨)
-g, --grind āĻ­ā§āĻ¯āĻžāĻ˛āĻ—ā§āĻ°āĻŋāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻŸā§‡āĻ¸ā§āĻŸ āĻ¸ā§āĻ¯ā§āĻŸ āĻāĻŦāĻ‚ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻžāĻ˛āĻžāĻ¨
-k, --kinds āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ āĻ•āĻ°ā§‡
-l, --list āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ āĻ•āĻ°ā§āĻ¨
-m, --āĻŽāĻžāĻ˛ā§āĻŸāĻŋāĻĒāĻ˛ āĻŸā§‡āĻ¸ā§āĻŸ āĻ¸ā§āĻ¯ā§āĻŸ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻžāĻ° āĻ°āĻŋāĻĒā§‹āĻ°ā§āĻŸ āĻ•āĻ°ā§‡
āĻŽāĻžāĻŽāĻ˛āĻž
-n, --nowaf āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻļā§āĻ°ā§ āĻ•āĻ°āĻžāĻ° āĻ†āĻ—ā§‡ waf āĻšāĻžāĻ˛āĻžāĻŦā§‡āĻ¨ āĻ¨āĻž
-p PYEXAMPLE, --pyexample=PYEXAMPLE
āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°ā§āĻ¨ (āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤
āĻĒāĻĨ)
-r, --retain āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ…āĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§€ āĻĢāĻžāĻ‡āĻ˛ āĻ§āĻ°ā§‡ āĻ°āĻžāĻ–ā§āĻ¨ (āĻ¯āĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻšāĻ¯āĻŧ
āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡)
-s TEST-SUITE, --suite=TEST-SUITE
āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¸ā§āĻ¯ā§āĻŸ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°ā§āĻ¨
-t TEXT-FILE, --text=TEXT-FILEā§ˇ
āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ TEXT-FILE.txt āĻ āĻ˛āĻŋāĻ–ā§āĻ¨
-v, --āĻ­āĻžāĻ°āĻŦā§‹āĻ¸ āĻŽā§āĻĻā§āĻ°āĻŖ āĻ…āĻ—ā§āĻ°āĻ—āĻ¤āĻŋ āĻāĻŦāĻ‚ āĻ¤āĻĨā§āĻ¯āĻŽā§‚āĻ˛āĻ• āĻŦāĻžāĻ°ā§āĻ¤āĻž
-w HTML-FILE, --web=HTML-FILE, --html=HTML-FILE
HTML-FILE.html āĻ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ˛āĻŋāĻ–ā§āĻ¨
-x XML-FILE, --xml=XML-FILE
XML-FILE.xml-āĻ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ˛āĻŋāĻ–ā§āĻ¨

āĻ¯āĻĻāĻŋ āĻ•ā§‡āĻ‰ āĻāĻ•āĻŸāĻŋ āĻāĻšā§āĻ›āĻŋāĻ• āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻļā§ˆāĻ˛ā§€ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°ā§‡, āĻ•ā§‡āĻ‰ āĻāĻ° āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻŦāĻŋāĻŦāĻ°āĻŖ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻāĻŦāĻ‚ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĨ¤ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻļā§ˆāĻ˛ā§€ āĻšāĻ¯āĻŧ āĻĒāĻžāĻ  āĻāĻŦāĻ‚ āĻāĻ‡āĻšāĻŸāĻŋāĻāĻŽāĻāĻ˛. āĻŦāĻŋāĻ˛ā§āĻĄāĻŦāĻŸ āĻāĻ‡āĻšāĻŸāĻŋāĻāĻŽāĻāĻ˛ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°āĻŦā§‡
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ°āĻžāĻ¤ā§‡āĻ° āĻŦāĻŋāĻ˛ā§āĻĄāĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ‡āĻšāĻŸāĻŋāĻāĻŽāĻāĻ˛ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ°āĻŋāĻĒā§‹āĻ°ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ

$ ./test.py --html=nightly.html

āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, ''nightly.html'' āĻ¨āĻžāĻŽā§‡āĻ° āĻāĻ•āĻŸāĻŋ HTML āĻĢāĻžāĻ‡āĻ˛ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ¨ā§āĻĻāĻ° āĻ¸āĻžāĻ°āĻžāĻ‚āĻļ āĻ¸āĻš āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻŦā§‡
āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž. āĻāĻ•āĻŸāĻŋ ''āĻŽāĻžāĻ¨āĻŦ āĻĒāĻžāĻ āĻ¯ā§‹āĻ—ā§āĻ¯'' āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ā§‡ āĻ†āĻ—ā§āĻ°āĻšā§€ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§
āĻŦāĻŋāĻŦāĻ°āĻŖāĨ¤

$ ./test.py --text=results.txt

āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡, āĻŸā§‡āĻ¸ā§āĻŸ āĻ¸ā§āĻ¯ā§āĻŸ āĻšā§‡āĻ• āĻ•āĻ°āĻ›ā§‡ ns-3 āĻŦā§‡āĻ¤āĻžāĻ° āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡āĻ° āĻĒā§āĻ°āĻšāĻžāĻ° āĻ•ā§āĻˇāĻ¤āĻŋ
āĻŽāĻĄā§‡āĻ˛ āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡ āĻ†āĻ° āĻ•ā§‹āĻ¨ āĻ¤āĻĨā§āĻ¯ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻž.

āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻž āĻ†āĻ°āĻ“ āĻ…āĻ¨ā§āĻŦā§‡āĻˇāĻŖ āĻ•āĻ°āĻ¤ā§‡, test.py āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¸ā§āĻ¯ā§āĻŸ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧāĨ¤
āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻšāĻžāĻ˛āĻžāĻšā§āĻ›ā§‡āĻ¨

$ ./test.py --suite=ns3-wifi-propagation-loss-models

āĻŦāĻž āĻ¸āĻŽāĻ¤ā§āĻ˛ā§āĻ¯āĻ­āĻžāĻŦā§‡

$ ./test.py -s ns3-wifi-propagation-loss-models

āĻ¯ā§‡ āĻāĻ•āĻ• āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¸ā§āĻ¯ā§āĻŸ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻšā§āĻ›ā§‡ āĻĢāĻ˛āĻžāĻĢāĻ˛.

āĻŦā§āĻ¯āĻ°ā§āĻĨ: TestSuite ns3-āĻ“āĻ¯āĻŧāĻžāĻ‡āĻĢāĻžāĻ‡-āĻĒā§āĻ°āĻšāĻžāĻ°-āĻ•ā§āĻˇāĻ¤āĻŋ-āĻŽāĻĄā§‡āĻ˛

āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻž āĻ¸āĻ‚āĻ•ā§āĻ°āĻžāĻ¨ā§āĻ¤ āĻŦāĻŋāĻļāĻĻ āĻ¤āĻĨā§āĻ¯ āĻ–ā§āĻāĻœā§‡ āĻĒā§‡āĻ¤ā§‡, āĻāĻ•āĻœāĻ¨āĻ•ā§‡ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ†āĻ‰āĻŸāĻĒā§āĻŸā§‡āĻ° āĻ§āĻ°āĻŖā§‡āĻ° āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡
āĻ†āĻ•āĻžāĻ™ā§āĻ•ā§āĻˇāĻŋāĻ¤. āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻ˛ā§‹āĻ• āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻāĻ•āĻŸāĻŋ āĻĒāĻžāĻ ā§āĻ¯ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ†āĻ—ā§āĻ°āĻšā§€ āĻšāĻŦā§‡:

$ ./test.py --suite=ns3-wifi-propagation-loss-models --text=results.txt

āĻāĻ° āĻĢāĻ˛ā§‡ āĻ¸ā§‡āĻ‡ āĻāĻ•āĻ• āĻŸā§‡āĻ¸ā§āĻŸ āĻ¸ā§āĻ¯ā§āĻŸ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻŦā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻžāĻ¸ā§‡ āĻ˛ā§‡āĻ–āĻž
āĻĢāĻžāĻ‡āĻ˛ ''results.txt''āĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻ¸ā§‡āĻ‡ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ…āĻ¨ā§āĻ°ā§‚āĻĒ āĻ•āĻŋāĻ›ā§ āĻ–ā§āĻāĻœā§‡ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ‰āĻšāĻŋāĻ¤

āĻŦā§āĻ¯āĻ°ā§āĻĨ: āĻŸā§‡āĻ¸ā§āĻŸ āĻ¸ā§āĻ¯ā§āĻŸ ''ns3-āĻ“āĻ¯āĻŧāĻžāĻ‡āĻĢāĻžāĻ‡-āĻĒā§āĻ°āĻšāĻžāĻ°-āĻ•ā§āĻˇāĻ¤āĻŋ-āĻŽāĻĄā§‡āĻ˛'' (āĻ†āĻ¸āĻ˛ 0.02 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ 0.01 āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ 0.00)
āĻĒāĻžāĻ¸: āĻŸā§‡āĻ¸ā§āĻŸ āĻ•ā§‡āĻ¸ "āĻšā§‡āĻ•... āĻĢā§āĻ°āĻŋāĻ¸... āĻŽāĻĄā§‡āĻ˛..." (āĻ†āĻ¸āĻ˛ 0.01 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ 0.00 āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ 0.00)
FAIL: āĻŸā§‡āĻ¸ā§āĻŸ āĻ•ā§‡āĻ¸ "āĻšā§‡āĻ•... āĻ˛āĻ— āĻĄāĻŋāĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻ¸... āĻŽāĻĄā§‡āĻ˛" (āĻ†āĻ¸āĻ˛ 0.01 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ 0.01 āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ 0.00)
āĻŦāĻŋāĻŦāĻ°āĻŖ:
āĻŦāĻžāĻ°ā§āĻ¤āĻž: āĻ…āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤ SNR āĻŽāĻžāĻ¨ āĻĒā§‡āĻ¯āĻŧā§‡āĻ›āĻŋ
āĻļāĻ°ā§āĻ¤: [āĻ†āĻ¸āĻ˛ā§‡ āĻ•ā§€ āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¤āĻžāĻ° āĻĻā§€āĻ°ā§āĻ˜ āĻŦāĻ°ā§āĻŖāĻ¨āĻž]
āĻĒā§āĻ°āĻ•ā§ƒāĻ¤: 176.395
āĻ¸ā§€āĻŽāĻž: 176.407 +- 0.0005
āĻĢāĻžāĻ‡āĻ˛: ../src/test/ns3wifi/propagation-loss-models-test-suite.cc
āĻ˛āĻžāĻ‡āĻ¨: 360

āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡ āĻŸā§‡āĻ¸ā§āĻŸ āĻ¸ā§āĻ¯ā§āĻŸ āĻĻā§āĻŸāĻŋ āĻŸā§‡āĻ¸ā§āĻŸ āĻ•ā§‡āĻ¸ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ—āĻ āĻŋāĻ¤āĨ¤ āĻĒā§āĻ°āĻĨāĻŽ āĻŸā§‡āĻ¸ā§āĻŸ āĻ•ā§‡āĻ¸ āĻšā§‡āĻ• āĻ•āĻ°ā§‡
Friis āĻĒā§āĻ°āĻšāĻžāĻ° āĻ•ā§āĻˇāĻ¤āĻŋ āĻŽāĻĄā§‡āĻ˛ āĻāĻŦāĻ‚ āĻĒāĻžāĻ¸. āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ˛āĻ— āĻšā§‡āĻ• āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
āĻĻā§‚āĻ°āĻ¤ā§āĻŦ āĻĒā§āĻ°āĻšāĻžāĻ° āĻŽāĻĄā§‡āĻ˛āĨ¤ āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, 176.395 āĻāĻ° āĻāĻ•āĻŸāĻŋ SNR āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ—ā§‡āĻ›ā§‡, āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž
āĻ¤āĻŋāĻ¨ āĻĻāĻļāĻŽāĻŋāĻ• āĻ¸ā§āĻĨāĻžāĻ¨ā§‡ 176.407 āĻ¸āĻ āĻŋāĻ• āĻŽāĻžāĻ¨ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤āĨ¤ āĻĢāĻžāĻ‡āĻ˛ āĻ¯āĻž āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻŋāĻ¤
āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ° āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ āĻ•ā§‹āĻĄā§‡āĻ° āĻ˛āĻžāĻ‡āĻ¨ āĻ¯āĻž āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻžāĻ•ā§‡ āĻŸā§āĻ°āĻŋāĻ—āĻžāĻ° āĻ•āĻ°ā§‡āĻ›ā§‡āĨ¤

āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻŋ āĻšāĻžāĻ¨, āĻ†āĻĒāĻ¨āĻŋ āĻ āĻŋāĻ• āĻ¸āĻšāĻœā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ HTML āĻĢāĻžāĻ‡āĻ˛ āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ --html āĻĒāĻ›āĻ¨ā§āĻĻ
āĻ‰āĻĒāĻ°ā§‡ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤.

āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻ•āĻœāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻžāĻ° āĻĒāĻ° āĻ…āĻ¨ā§āĻ¤āĻ¤ āĻāĻ•āĻŦāĻžāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻžāĻ˛āĻžāĻŦā§‡āĻ¨ ns-3 āĻ¸ā§‡āĻŸāĻž āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡
āĻ¤āĻžāĻ° āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ¸āĻ āĻŋāĻ• āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ›ā§‡
āĻŸā§‡āĻ¸ā§āĻŸ āĻ¸ā§āĻ¯ā§āĻŸ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§€āĨ¤ āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€āĻ°āĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ†āĻ—ā§‡ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¸ā§āĻ¯ā§āĻŸ āĻšāĻžāĻ˛āĻžāĻŦā§‡
āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¯ā§‡ āĻ¤āĻžāĻ°āĻž āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻŸāĻŋ āĻ°āĻŋāĻ—ā§āĻ°ā§‡āĻļāĻ¨ āĻšāĻžāĻ˛ā§ āĻ•āĻ°ā§‡āĻ¨āĻŋ
āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€āĻ°āĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻžāĻ˛āĻžāĻ¤ā§‡ āĻ¨āĻžāĻ“ āĻšāĻžāĻ‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ¤āĻŦā§‡ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻ¸ā§‡āĻŸāĨ¤ āĻœāĻ¨ā§āĻ¯
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧāĻ•ā§āĻ°āĻŽā§‡ āĻ‡āĻ‰āĻ¨āĻŋāĻŸ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻžāĻ˛āĻžāĻ¤ā§‡ āĻšāĻžāĻ‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨. āĻāĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, test.py āĻāĻ° āĻĒā§āĻ°āĻ•āĻžāĻ°āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¸ā§€āĻŽāĻžāĻŦāĻĻā§āĻ§ āĻ•āĻ°āĻ¤ā§‡ āĻŦāĻ˛āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻļā§āĻ°ā§‡āĻŖā§€āĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻšā§āĻ›ā§‡āĨ¤ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻšāĻŦā§‡
āĻ‡āĻ‰āĻ¨āĻŋāĻŸ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻšā§āĻ›ā§‡:

$ ./test.py --constrain=unit

āĻāĻ•āĻ‡āĻ­āĻžāĻŦā§‡, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡āĻ° āĻĢāĻ˛ā§‡ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻ§ā§‹āĻāĻ¯āĻŧāĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻŦā§‡:

$ ./test.py --constrain=unit

āĻ†āĻ‡āĻ¨āĻŋ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ¸ā§€āĻŽāĻžāĻŦāĻĻā§āĻ§āĻ¤āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻĻā§āĻ°ā§āĻ¤ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĻā§‡āĻ–āĻ¤ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻ˛āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤
āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ

$ ./test.py --kinds

āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻšāĻŦā§‡ āĻĢāĻ˛āĻžāĻĢāĻ˛:

Waf: '/home/craigdo/repos/ns-3-allinone-test/ns-3-dev/build' āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻĒā§āĻ°āĻŦā§‡āĻļ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡
āĻ“āĻ¯āĻŧāĻžāĻĢ: āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ›ā§‡āĻĄāĻŧā§‡ āĻ¯āĻžāĻšā§āĻ›ā§‡ `/home/craigdo/repos/ns-3-allinone-test/ns-3-dev/build'
'āĻŦāĻŋāĻ˛ā§āĻĄ' āĻ¸āĻĢāĻ˛āĻ­āĻžāĻŦā§‡ āĻļā§‡āĻˇ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (0.939s)Waf: āĻāĻ¨ā§āĻŸāĻžāĻ°āĻŋāĻ‚ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ `/home/craigdo/repos/ns-3-allinone-test/ns-3-dev/build'
bvt: āĻŦāĻŋāĻ˛ā§āĻĄ āĻ¯āĻžāĻšāĻžāĻ‡āĻ•āĻ°āĻŖ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž (āĻŦāĻŋāĻ˛ā§āĻĄ āĻ¸āĻĢāĻ˛āĻ­āĻžāĻŦā§‡ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻĻā§‡āĻ–āĻ¤ā§‡)
āĻŽā§‚āĻ˛: āĻ¸āĻŽāĻ¸ā§āĻ¤ TestSuite-āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ• āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻžāĻ˛āĻžāĻ¨ (āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ—ā§āĻ˛āĻŋ āĻŦāĻžāĻĻ āĻĻāĻŋāĻ¨)
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ: āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ (āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻ¸āĻĢāĻ˛āĻ­āĻžāĻŦā§‡ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻĻā§‡āĻ–āĻ¤ā§‡)
āĻĒāĻžāĻ°āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¸: āĻĒāĻžāĻ°āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¸ āĻŸā§‡āĻ¸ā§āĻŸ (āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻŸāĻŋ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻĻā§āĻ°ā§āĻ¤ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡ āĻĻā§‡āĻ–ā§āĻ¨)
āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ: āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻŸā§‡āĻ¸ā§āĻŸ (āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡āĻ° āĻ‡āĻ¨ā§āĻŸāĻŋāĻ—ā§āĻ°ā§‡āĻļāĻ¨ āĻšā§‡āĻ• āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¸ā§āĻĒā§āĻ¯āĻžāĻ¨ āĻ•āĻ°ā§‡)
āĻ‡āĻ‰āĻ¨āĻŋāĻŸ: āĻ‡āĻ‰āĻ¨āĻŋāĻŸ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž (āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻŽā§ŒāĻ˛āĻŋāĻ• āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡)

āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ¯ā§‡āĻ•ā§‹āĻ¨ āĻāĻ•āĻŸāĻŋ āĻ¸ā§€āĻŽāĻžāĻŦāĻĻā§āĻ§āĻ¤āĻž āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ --āĻ¸ā§€āĻŽāĻžāĻŦāĻĻā§āĻ§āĻ¤āĻž āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĨ¤

āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŸā§‡āĻ¸ā§āĻŸ āĻ¸ā§āĻ¯ā§āĻŸāĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻĻā§āĻ°ā§āĻ¤ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĻā§‡āĻ–āĻ¤ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻšāĻ¤ā§‡ āĻšāĻžāĻ‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ā§ˇ
āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ­ā§āĻ•ā§āĻ¤ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ,

$ ./test.py --list

āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ¸ā§āĻ¯ā§āĻŸā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻšāĻŦā§‡, āĻ…āĻ¨ā§āĻ°ā§‚āĻĒ

Waf: '/home/craigdo/repos/ns-3-allinone-test/ns-3-dev/build' āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻĒā§āĻ°āĻŦā§‡āĻļ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡
āĻ“āĻ¯āĻŧāĻžāĻĢ: āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ›ā§‡āĻĄāĻŧā§‡ āĻ¯āĻžāĻšā§āĻ›ā§‡ `/home/craigdo/repos/ns-3-allinone-test/ns-3-dev/build'
'āĻŦāĻŋāĻ˛ā§āĻĄ' āĻ¸āĻĢāĻ˛āĻ­āĻžāĻŦā§‡ āĻļā§‡āĻˇ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (0.939s)
āĻŦāĻžāĻ°āĻ˛ā§‡āĻ–
ns3-āĻ“āĻ¯āĻŧāĻžāĻ‡āĻĢāĻžāĻ‡-āĻšāĻ¸ā§āĻ¤āĻ•ā§āĻˇā§‡āĻĒ
ns3-tcp-cwnd
ns3-tcp-āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ…āĻĒāĻžāĻ°ā§‡āĻŦāĻŋāĻ˛āĻŋāĻŸāĻŋ
āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ—
āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸-āĻœāĻžāĻ˛-āĻļāĻŋāĻ–āĻž
devices-mesh-dot11s
āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸-āĻœāĻžāĻ˛
...
āĻŦāĻ¸ā§āĻ¤ā§-āĻ¨āĻžāĻŽ-āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž
āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ•
āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻžāĻŦāĻ˛ā§€
āĻ•āĻ¨āĻĢāĻŋāĻ—
āĻŦāĻŋāĻļā§āĻŦ-āĻŽāĻžāĻ¨
āĻ•āĻŽā§āĻ¯āĻžāĻ¨ā§āĻĄ-āĻ˛āĻžāĻ‡āĻ¨
āĻŽā§ŒāĻ˛āĻŋāĻ•-āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹-āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž
āĻ˛āĻ•ā§āĻˇā§āĻ¯

āĻāĻ‡ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ­ā§āĻ•ā§āĻ¤ āĻ¸ā§āĻ¯ā§āĻŸāĻ—ā§āĻ˛āĻŋāĻ° āĻ¯ā§‡āĻ•ā§‹āĻ¨āĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¨āĻŋāĻœā§‡āĻ‡ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ --āĻ¸ā§āĻ‡āĻŸ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻšāĻŋāĻ¸āĻžāĻŦā§‡
āĻ‰āĻĒāĻ°ā§‡ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻāĻ•āĻ‡āĻ­āĻžāĻŦā§‡ āĻ¸ā§āĻ¯ā§āĻŸ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ•ā§‡āĻ‰ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• C++ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻšāĻžāĻ˛āĻžāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ -- āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ
āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–ā§āĻ¯ āĻ¯ā§‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻĒā§‡āĻ•ā§āĻˇāĻŋāĻ• āĻĒāĻĨāĻŸāĻŋ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¨ā§‡āĻ‡ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻŸāĻŋ
C++ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸā§‡āĻŦāĻ˛ā§‡āĻ° āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ āĻ¨ā§‡āĻ‡āĨ¤ āĻĒā§āĻ°āĻŦā§‡āĻļāĻ¨

$ ./test.py --example=udp-echo

āĻ¯ā§‡ āĻāĻ•āĻ• āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻšā§āĻ›ā§‡ āĻĢāĻ˛āĻžāĻĢāĻ˛.

PASS: āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ/udp/udp-echo

āĻ†āĻĒāĻ¨āĻŋ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ ns-3 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ --āĻŦāĻŋāĻ˛ā§āĻĄāĻĒāĻĨ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻšāĻŋāĻ¸āĻžāĻŦā§‡
āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ

$ ./test.py --buildpath=/home/craigdo/repos/ns-3-allinone-test/ns-3-dev/build/debug --example=wifi-simple-adhoc

āĻ•ā§‡āĻ‰ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻšāĻžāĻ˛āĻžāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ --py āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–ā§āĻ¯ āĻ¯ā§‡
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻĒā§‡āĻ•ā§āĻˇāĻŋāĻ• āĻĒāĻĨ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ—ā§āĻ˛āĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻŦā§‡
āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ āĻĒā§āĻ°āĻŦā§‡āĻļāĻ¨

$ ./test.py --pyexample=examples/tutorial/first.py

āĻ¯ā§‡ āĻāĻ•āĻ• āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻšā§āĻ›ā§‡ āĻĢāĻ˛āĻžāĻĢāĻ˛.

āĻĒāĻžāĻ¸: āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ/āĻŸāĻŋāĻ‰āĻŸā§‹āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛/first.py

āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ, āĻ¤āĻžāĻ‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ ns-3 āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻŋāĻ•āĻž āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¨āĻž
āĻ¤āĻžāĻĻā§‡āĻ° āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤

āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ¯āĻ–āĻ¨ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻ—ā§āĻ˛āĻŋ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧ, āĻ¤āĻ–āĻ¨ āĻ¤āĻžāĻ°āĻž āĻĒā§āĻ°āĻšā§āĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻŖā§‡ āĻŸā§āĻ°ā§‡āĻ¸ āĻĢāĻžāĻ‡āĻ˛ āĻĄā§‡āĻŸāĻž āĻ˛ā§‡āĻ–ā§‡āĨ¤
āĻāĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻŦāĻŋāĻ¤āĻ°āĻŖā§‡āĻ° āĻŦā§‡āĻ¸ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŋāĻ¤ āĻšāĻ¯āĻŧ (āĻ¯ā§‡āĻŽāĻ¨,
/home/user/ns-3-dev)āĨ¤ āĻ•āĻ–āĻ¨ test.py āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻžāĻ˛āĻžāĻ¯āĻŧ, āĻāĻŸāĻž āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ‡ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻ‰āĻĻā§āĻŦāĻŋāĻ—ā§āĻ¨
āĻŸā§āĻ°ā§‡āĻ¸ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻšāĨ¤ āĻāĻŸāĻŋ āĻ•ā§‡āĻŦāĻ˛ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¯āĻŧ āĻ¯ā§‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻŸāĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻ¯āĻžāĻ¯āĻŧ āĻ•āĻŋāĻ¨āĻž
āĻ¤ā§āĻ°ā§āĻŸāĻŋāĻšā§€āĻ¨. āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻŸā§āĻ°ā§‡āĻ¸ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ a āĻ āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧ
/tmp/unchecked-traces āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻŸāĻŋ āĻšāĻžāĻ˛āĻžāĻ¨ āĻ¤āĻŦā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ–ā§āĻāĻœā§‡ āĻĒā§‡āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻšāĻŦā§‡āĻ¨
āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ udp-echo.tr āĻāĻŦāĻ‚ udp-echo-n-1.pcap āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻĢāĻžāĻ‡āĻ˛āĨ¤

āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž "āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ" āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
āĻŦāĻŖā§āĻŸāĻ¨. āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻŽā§ƒāĻ¤ā§āĻ¯ā§āĻĻāĻ¨ā§āĻĄ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°ā§āĻ¨ -- āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ,
test.py āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻŸāĻŋ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻ•ā§‹āĻ¨ā§‹ āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻŦā§‡ āĻ¨āĻž, āĻāĻŸāĻŋ
āĻļā§āĻ§ā§ āĻāĻŸāĻŋ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻŦā§‡ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻšā§‡āĻˇā§āĻŸāĻžāĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ°āĻŋāĻĒā§‹āĻ°ā§āĻŸ āĻ•āĻ°āĻŦā§‡āĨ¤

āĻ•āĻ–āĻ¨ test.py āĻšāĻ˛ā§‡, āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡ āĻāĻŸāĻŋ āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻŦā§‡ āĻ¯ā§‡ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻŸāĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻāĻ‡ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°ā§‡ āĻĒāĻ°āĻžāĻœāĻŋāĻ¤ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ --āĻ¨ā§‹āĻĢ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĨ¤

$ ./test.py --list --nowaf

āĻāĻ° āĻĢāĻ˛ā§‡ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§‡ āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻŸā§‡āĻ¸ā§āĻŸ āĻ¸ā§āĻ¯ā§āĻŸāĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻšāĻŦā§‡, āĻ…āĻ¨ā§āĻ°ā§‚āĻĒ:

ns3-āĻ“āĻ¯āĻŧāĻžāĻ‡āĻĢāĻžāĻ‡-āĻĒā§āĻ°āĻšāĻžāĻ°-āĻ•ā§āĻˇāĻ¤āĻŋ-āĻŽāĻĄā§‡āĻ˛
ns3-tcp-cwnd
ns3-tcp-āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ…āĻĒāĻžāĻ°ā§‡āĻŦāĻŋāĻ˛āĻŋāĻŸāĻŋ
pcap-āĻĢāĻžāĻ‡āĻ˛-āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ
āĻŦāĻ¸ā§āĻ¤ā§-āĻ¨āĻžāĻŽ-āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž
āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹-āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž-āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸāĻ°

āĻāĻ° āĻ…āĻ¨ā§āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°ā§āĻ¨ Waf āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨āĨ¤

test.py āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ āĻ­ā§āĻ¯āĻžāĻ˛āĻ—ā§āĻ°āĻŋāĻ¨ā§āĻĄā§‡āĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ āĻŸā§‡āĻ¸ā§āĻŸ āĻ¸ā§āĻ¯ā§āĻŸ āĻāĻŦāĻ‚ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡āĨ¤ Valgrind āĻšāĻ˛ a
āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸā§‡āĻŦāĻ˛ āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ‚ āĻāĻŦāĻ‚ āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛āĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨āĻŽāĻ¨ā§€āĻ¯āĻŧ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĨ¤ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡, āĻ­ā§āĻ¯āĻžāĻ˛āĻ—ā§āĻ°āĻŋāĻ¨ā§āĻĄ āĻšāĻ˛ā§‡
āĻŽā§‡āĻŽāĻšā§‡āĻ• āĻ¨āĻžāĻŽāĻ• āĻāĻ•āĻŸāĻŋ āĻŸā§āĻ˛, āĻ¯āĻž āĻŽā§‡āĻŽāĻ°āĻŋ-āĻšā§‡āĻ•āĻŋāĻ‚ āĻĢāĻžāĻ‚āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻ¸ā§€āĻŽāĻž āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻ•āĻ°ā§‡, āĻ¸āĻš
āĻļā§āĻ°ā§ āĻ¨āĻž āĻ•āĻ°āĻž āĻŽā§‡āĻŽāĻ°āĻŋāĻ¤ā§‡ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ¸āĻ¨āĻžāĻ•ā§āĻ¤ āĻ•āĻ°āĻž, āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°āĻž āĻŽā§‡āĻŽāĻ°āĻŋāĻ° āĻ…āĻĒāĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° (āĻĄāĻŦāĻ˛ āĻĢā§āĻ°āĻŋ,
āĻŦāĻŋāĻ¨āĻžāĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻĒāĻ°ā§‡ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸, āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋ) āĻāĻŦāĻ‚ āĻŽā§‡āĻŽāĻ°āĻŋ āĻ˛āĻŋāĻ• āĻ¸āĻ¨āĻžāĻ•ā§āĻ¤ āĻ•āĻ°āĻžāĨ¤ āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
-- āĻĒāĻŋāĻˇā§‡ āĻĢā§‡āĻ˛āĻž āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĨ¤

$ ./test.py --āĻ—ā§āĻ°āĻŋāĻ¨ā§āĻĄ

āĻāĻŸāĻŋ āĻ¯ā§‡āĻŽāĻ¨ āĻšāĻ˛āĻ›ā§‡, test.py āĻāĻŦāĻ‚ āĻ¯ā§‡ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻ—ā§āĻ˛āĻŋ āĻāĻŸāĻŋ āĻĒāĻ°ā§‹āĻ•ā§āĻˇāĻ­āĻžāĻŦā§‡ āĻšāĻžāĻ˛āĻžāĻ¯āĻŧ, āĻĒā§āĻ°āĻšā§āĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻŖā§‡ āĻ‰ā§ŽāĻĒāĻ¨ā§āĻ¨ āĻ•āĻ°ā§‡
āĻ…āĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§€ āĻĢāĻžāĻ‡āĻ˛. āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤, āĻāĻ‡ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻ†āĻ•āĻ°ā§āĻˇāĻŖā§€āĻ¯āĻŧ āĻ¨āĻ¯āĻŧ, āĻ¤āĻŦā§‡ āĻ•āĻŋāĻ›ā§āĻ¤ā§‡
āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻāĻ‡ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻāĻŸāĻŋ āĻĻāĻ°āĻ•āĻžāĻ°ā§€ (āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ‚ āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ā§‡) āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ test.py āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡
-- āĻ§āĻ°ā§‡ āĻ°āĻžāĻ–āĻž āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ¯āĻž āĻāĻ‡ āĻ…āĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§€ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ°āĻžāĻ¨ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡ āĻ°āĻžāĻ–āĻž āĻšāĻŦā§‡
āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻ¨āĻžāĻŽā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ testpy-āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻŦāĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ° āĻ…āĻ§ā§€āĻ¨ā§‡
āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ¸āĻŽāĻ¨ā§āĻŦāĻŋāĻ¤ āĻ‡āĻ‰āĻ¨āĻŋāĻ­āĻžāĻ°ā§āĻ¸āĻžāĻ˛ āĻŸāĻžāĻ‡āĻŽ āĻ…āĻ¨ā§āĻ¸āĻžāĻ°ā§‡ āĻ¨āĻžāĻŽāĻ•āĻ°āĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ āĻ—ā§āĻ°āĻŋāĻ¨āĻŋāĻš āĻŽāĻŋāĻ¨ āĻ¨āĻžāĻŽā§‡ āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤
āĻ¸āĻŽāĻ¯āĻŧ)āĨ¤

$ ./test.py -- āĻ§āĻ°ā§‡ āĻ°āĻžāĻ–ā§āĻ¨

āĻ…āĻŦāĻļā§‡āĻˇā§‡, test.py āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ -- āĻ­āĻžāĻ°āĻŦā§‹āĻ¸ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ¯āĻž āĻĒā§āĻ°āĻšā§āĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻŖā§‡ āĻ¤āĻĨā§āĻ¯ āĻŽā§āĻĻā§āĻ°āĻŖ āĻ•āĻ°āĻŦā§‡
āĻāĻ° āĻ…āĻ—ā§āĻ°āĻ—āĻ¤āĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡āĨ¤ āĻāĻŸāĻž āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤ āĻ¨āĻ¯āĻŧ āĻ¯ā§‡ āĻāĻŸāĻŋ āĻ¨āĻž āĻĨāĻžāĻ•āĻ˛ā§‡ āĻāĻŸāĻŋ āĻ­āĻ¯āĻŧāĻ™ā§āĻ•āĻ°āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻšāĻŦā§‡
āĻāĻ•āĻŸāĻŋ āĻ­ā§āĻ˛. āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻāĻŦāĻ‚ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻŸā§‡āĻ¸ā§āĻŸ āĻ¸ā§āĻ¯ā§āĻŸ āĻāĻŦāĻ‚ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ°āĻŋāĻĒā§‹āĻ°ā§āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ‰āĻĒāĻžāĻ¯āĻŧā§‡ verbose āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°ā§āĻ¨:

$ ./test.py --verbose

āĻāĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋ āĻŽāĻŋāĻļā§āĻ°āĻŋāĻ¤ āĻāĻŦāĻ‚ āĻŽāĻŋāĻ˛āĻŋāĻ¤ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, ns-3 āĻ•ā§‹āĻ° āĻ¸āĻŦ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯
āĻāĻ•āĻŸāĻŋ HTML āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ­ā§āĻ¯āĻžāĻ˛āĻ—ā§āĻ°āĻŋāĻ¨ā§āĻĄā§‡āĻ° āĻ…āĻ§ā§€āĻ¨ā§‡, āĻ­āĻžāĻ°ā§āĻŦā§‹āĻ¸ āĻŽā§‹āĻĄā§‡ āĻŸā§‡āĻ¸ā§āĻŸ āĻ¸ā§āĻ¯ā§āĻŸāĻ—ā§āĻ˛āĻŋ
āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡:

$ ./test.py --verbose --grind --constrain=core --html=results.html

āĻŸā§‡āĻ¸ā§āĻŸ āĻŸā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‹āĻ¨āĻŽāĻŋ
āĻ‰āĻĒāĻ°ā§‡ āĻ‰āĻ˛ā§āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§‡, āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻŦāĻŋāĻ¸ā§āĻ¤ā§ƒāĻ¤āĻ­āĻžāĻŦā§‡ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻļā§āĻ°ā§‡āĻŖā§€āĻŦāĻŋāĻ­āĻžāĻ—ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¯āĻŧ āĻŦāĻŋāĻ­āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ§āĻ°āĻŖā§‡āĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻŽā§‡āĻŸāĻžāĻ¤ā§‡ āĻŦā§‡āĻ›ā§‡ āĻŦā§‡āĻ›ā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧ
āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡.

¡ āĻ¯āĻžāĻšāĻžāĻ‡āĻ•āĻ°āĻŖ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨

¡ āĻ‡āĻ‰āĻ¨āĻŋāĻŸ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž

¡ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻŸā§‡āĻ¸ā§āĻŸ

¡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ

¡ āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž

āĻŦāĻŋāĻ˛ā§āĻĄ āĻ­ā§‡āĻ°āĻŋāĻĢāĻŋāĻ•ā§‡āĻļāĻ¨ āĻŸā§‡āĻ¸ā§āĻŸ
āĻāĻ—ā§āĻ˛āĻŋ āĻ¤ā§āĻ˛āĻ¨āĻžāĻŽā§‚āĻ˛āĻ•āĻ­āĻžāĻŦā§‡ āĻ¸āĻšāĻœ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¯āĻž āĻŦāĻŋāĻ¤āĻ°āĻŖā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻŦāĻŋāĻ˛ā§āĻĄāĻŸāĻŋ āĻŦā§‡āĻļ āĻ•āĻžāĻœ āĻ•āĻ°āĻ›ā§‡ āĻ¤āĻž āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡āĨ¤ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ‡āĻ‰āĻ¨āĻŋāĻŸ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻŦāĻžāĻ¸
āĻ¤āĻžāĻ°āĻž āĻ¯ā§‡ āĻ•ā§‹āĻĄ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡ āĻ¤āĻžāĻ° āĻ¸ā§‹āĻ°ā§āĻ¸ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ ns-3 āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ; āĻāĻŦāĻ‚ āĻ¤āĻžāĻ‡ āĻŽāĻžāĻĒāĻ¸āĻ‡
BVT-āĻāĻ° āĻŦāĻŋāĻŦāĻ°āĻŖāĨ¤ BVT āĻ—ā§āĻ˛āĻŋ āĻāĻ•āĻ‡ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ•ā§‹āĻĄā§‡ āĻŦāĻžāĻ¸ āĻ•āĻ°ā§‡ āĻ¯āĻž ns-3 āĻ•ā§‹āĻĄā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¤ā§ˆāĻ°āĻŋāĨ¤
āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ—ā§āĻ˛āĻŋ āĻāĻ‡ āĻ§āĻ°āĻŖā§‡āĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĨ¤

āĻāĻ•āĻ• āĻŸā§‡āĻ¸ā§āĻŸ
āĻ‡āĻ‰āĻ¨āĻŋāĻŸ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ—ā§āĻ˛āĻŋ āĻ†āĻ°āĻ“ āĻœāĻĄāĻŧāĻŋāĻ¤ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¯āĻž āĻ•ā§‹āĻĄā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ…āĻ‚āĻļ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤āĻ­āĻžāĻŦā§‡ āĻ¯āĻžāĻ¯āĻŧ
āĻŦāĻŋāĻšā§āĻ›āĻŋāĻ¨ā§āĻ¨āĻ­āĻžāĻŦā§‡ āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĨ¤ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ‡ āĻ•ā§‹āĻ¨ āĻ•āĻžāĻ°āĻŖ āĻ¨ā§‡āĻ‡
āĻāĻ•āĻŸāĻŋ ns-3 āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡ āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤āĨ¤ āĻāĻŸāĻŋ āĻĻā§‡āĻ–āĻž āĻ¯āĻžāĻšā§āĻ›ā§‡, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ‡āĻ‰āĻ¨āĻŋāĻŸāĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡
āĻ¨āĻžāĻŽ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ¨āĻžāĻŽ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž āĻ•ā§‹āĻĄ āĻ¨āĻŋāĻœā§‡āĻ‡ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻāĻ•āĻ‡ āĻ†āĻ•āĻžāĻ°ā§‡āĻ° āĻšāĻ¯āĻŧ. āĻ‡āĻ‰āĻ¨āĻŋāĻŸ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž
āĻāĻŽāĻ¨ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¯āĻž ns-3 āĻ•ā§‹āĻĄā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻŦāĻŋāĻ˛ā§āĻŸ āĻ¨āĻ¯āĻŧ āĻāĻŽāĻ¨ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡,
āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ•ā§‹āĻĄ āĻāĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡ āĻāĻ•āĻ‡ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻŦāĻžāĻ¸ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻāĻŸāĻž āĻ¸āĻŽā§āĻ­āĻŦ āĻ¯ā§‡ āĻāĻ‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž
āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ āĻāĻ•āĻŸāĻŋ āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡ āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ‡āĻ¨ā§āĻŸāĻŋāĻ—ā§āĻ°ā§‡āĻļāĻ¨ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§āĻ¨āĨ¤ āĻĢāĻžāĻ‡āĻ˛
src/core/test/names-test-suite.cc āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĨ¤ āĻĢāĻžāĻ‡āĻ˛
src/network/test/pcap-file-test-suite.cc āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ āĻ­āĻžāĻ˛ pcap āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡
āĻāĻ•āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ­ā§‡āĻ•ā§āĻŸāĻ° āĻĢāĻžāĻ‡āĻ˛ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻĢāĻžāĻ‡āĻ˛āĨ¤ āĻāĻ‡ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧāĻ­āĻžāĻŦā§‡ src/network āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻŸā§‡āĻ¸ā§āĻŸ
āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻ˛ āĻ¯ā§‡āĻ—ā§āĻ˛āĻŋ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻœāĻĄāĻŧāĻŋāĻ¤āĨ¤ āĻ†āĻŽāĻ°āĻž āĻ…āĻ¨ā§‡āĻ• āĻ†āĻ›ā§‡
āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ°āĻŋāĻ—ā§āĻ°ā§‡āĻļāĻ¨ āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•ā§‡ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻ˛āĻ›ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¸ā§‡āĻ—ā§āĻ˛ā§‹ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤
āĻ“āĻ­āĻžāĻ°āĻ˛ā§‹āĻĄ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĨ¤ āĻ†āĻŽāĻ°āĻž āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻœāĻžāĻ¯āĻŧāĻ—āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻŋ
src/āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž. āĻĢāĻžāĻ‡āĻ˛ src/test/ns3tcp/ns3-interop-test-suite.cc āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ
āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻāĻŸāĻŋ ns-3 TCP āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡ NSC TCP āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻ‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻŦā§‡
āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ­ā§‡āĻ•ā§āĻŸāĻ°, āĻāĻŦāĻ‚ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡
āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻœā§€āĻŦāĻ¨ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, ns3tcp-interop-response-vectors.pcap āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛ āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡
TCP āĻšā§‡āĻĄāĻžāĻ°ā§‡āĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ¯āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ ns-3 TCP-āĻāĻ° āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧ
NSC TCP āĻĻā§āĻŦāĻžāĻ°āĻž āĻ‰āĻ¤ā§āĻĒāĻžāĻĻāĻŋāĻ¤ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻā§āĻĻā§€āĻĒāĻ¨āĻž āĻ¯āĻž āĻāĻ•āĻŸāĻŋ ''āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ āĻ­āĻžāĻ˛'' āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧāĨ¤

āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ—ā§āĻ˛āĻŋ āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¤āĻž āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻ¯ā§‡ āĻ¤āĻžāĻ°āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻšāĻ˛āĻŦā§‡āĨ¤ āĻ•āĻŋāĻ›ā§āĻ‡ āĻ¨āĻž
āĻšā§‡āĻ• āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻāĻŦāĻ‚ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§‡ pcap āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻļā§āĻ§ā§ āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ / tmp -āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻŦāĻžāĻ¤āĻŋāĻ˛ āĻ•āĻ°āĻž āĻ¯āĻĻāĻŋ
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ—ā§āĻ˛āĻŋ āĻ¸āĻžā§āĻšāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧ (āĻ•ā§āĻ°ā§āĻ¯āĻžāĻļ āĻšāĻ¯āĻŧ āĻ¨āĻž) āĻ¤āĻžāĻ°āĻž āĻāĻ‡ āĻ§ā§‹āĻāĻ¯āĻŧāĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ¯āĻŧ āĻ‰āĻ¤ā§āĻ¤ā§€āĻ°ā§āĻŖ āĻšāĻ¯āĻŧāĨ¤

āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻŸā§‡āĻ¸ā§āĻŸ
āĻĒāĻžāĻ°āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¸ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻ˛ āĻ¸ā§‡āĻ‡āĻ—ā§āĻ˛āĻŋ āĻ¯āĻž āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ…āĻ‚āĻļ āĻ…āĻ¨ā§āĻļā§€āĻ˛āĻ¨ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§‡
āĻ¯āĻĻāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ—ā§āĻ˛āĻŋ āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻ¸āĻ™ā§āĻ—āĻ¤ āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻšāĻ¯āĻŧāĨ¤

āĻšāĻ˛āĻŽāĻžāĻ¨ āĻŸā§‡āĻ¸ā§āĻŸ
āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ—ā§āĻ˛āĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ‰āĻšā§āĻš āĻ¸ā§āĻ¤āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧ test.py āĻ•āĻžāĻ°ā§āĻ¯āĻ•ā§āĻ°āĻŽ. āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĒā§‡āĻ¤ā§‡
āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻ‡āĻ¨ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ, āĻšāĻžāĻ˛āĻžāĻ¨ test.py --help

āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ test.py āĻ‰āĻ­āĻ¯āĻŧ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻāĻŦāĻ‚ āĻ¯ā§‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻŦā§‡
āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻšā§‡āĻ• āĻ•āĻ°āĻ¤ā§‡. āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻāĻŦāĻ‚ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§‚āĻĒāĨ¤ āĻŸā§‡āĻ¸ā§āĻŸ
āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻŦāĻž āĻ˜āĻŸāĻ¨āĻžāĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤ āĻ†āĻšāĻ°āĻŖā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯āĻĒā§‚āĻ°ā§āĻŖāĨ¤
āĻŦāĻŋāĻĒāĻ°ā§€āĻ¤ā§‡, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻšā§‡āĻ• āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻž, āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡āĻ° āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨ āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡ āĻāĻŸāĻŋ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ āĻšāĻ˛ā§‡āĨ¤

āĻ¸āĻ‚āĻ•ā§āĻˇā§‡āĻĒā§‡, āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯, āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ—ā§āĻ˛āĻŋ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡, āĻāĻŦāĻ‚
āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ (āĻāĻšā§āĻ›āĻŋāĻ•āĻ­āĻžāĻŦā§‡) āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¯āĻĻāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ:

$ ./waf --configure --enable-examples --enable-tests

āĻ¤āĻžāĻ°āĻĒāĻ°, ns-3 āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨, āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻĒāĻ°ā§‡, āĻļā§āĻ§ā§ āĻšāĻžāĻ˛āĻžāĻ¨ test.py. test.py -h āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻĻā§‡āĻ–āĻžāĻŦā§‡
āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋāĻ° āĻ¯āĻž test.py-āĻāĻ° āĻ†āĻšāĻ°āĻŖ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡āĨ¤

āĻ•āĻžāĻ°ā§āĻ¯āĻ•ā§āĻ°āĻŽ test.py C++ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻāĻŦāĻ‚ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯, āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻŽā§āĻ¨-āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° C++ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ
āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž-āĻ°āĻžāĻ¨āĻžāĻ° āĻ†āĻ¸āĻ˛ā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯āĨ¤ āĻ¨ā§€āĻšā§‡ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻāĻ‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž-āĻ°āĻžāĻ¨āĻžāĻ° āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻ•āĻŸāĻŋ
āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻĄāĻŋāĻŦāĻžāĻ— āĻ•āĻ°āĻžāĻ° āĻ¸āĻšāĻžāĻ¯āĻŧāĻ• āĻ‰āĻĒāĻžāĻ¯āĻŧāĨ¤

āĻĄāĻŋāĻŦāĻžāĻ— āĻ•āĻ°āĻž āĻŸā§‡āĻ¸ā§āĻŸ
āĻ¨āĻŋāĻŽā§āĻ¨-āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž-āĻ°āĻžāĻ¨āĻžāĻ° āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻ—ā§āĻ˛āĻŋāĻ° āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ‚ āĻ¸āĻ°ā§āĻŦā§‹āĻ¤ā§āĻ¤āĻŽāĻ­āĻžāĻŦā§‡ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻ•āĻžāĻ°ā§āĻ¯āĻ•ā§āĻ°āĻŽ. āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž-āĻ°āĻžāĻ¨āĻžāĻ° āĻšāĻ˛ āĻœā§‡āĻ¨ā§‡āĻ°āĻŋāĻ• āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻ•ā§‹āĻĄ āĻĨā§‡āĻ•ā§‡ āĻŦā§āĻ°āĻŋāĻœ ns-3 āĻ•ā§‹āĻĄ āĻāĻŸāĻžāĻ‡
C++ āĻ āĻ˛ā§‡āĻ–āĻž āĻāĻŦāĻ‚ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ†āĻŦāĻŋāĻˇā§āĻ•āĻžāĻ° āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ ns-3 āĻ–ā§āĻāĻœā§‡ āĻĒā§‡āĻ¤ā§‡ āĻ•ā§‹āĻĄ āĻāĻŦāĻ‚
āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ¸āĻŦ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ā§‡āĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻāĻŋāĻ¨āĨ¤

āĻāĻ° āĻŽā§‚āĻ˛ āĻ•āĻžāĻ°āĻŖ test.py āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤ āĻ¨āĻ¯āĻŧ āĻ¯ā§‡ āĻāĻŸāĻŋ āĻ…āĻ¨ā§āĻŽā§‹āĻĻāĻŋāĻ¤ āĻ¨āĻ¯āĻŧ
āĻ˛āĻ—āĻŋāĻ‚ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ NS_LOG āĻĒāĻ°āĻŋāĻŦā§‡āĻļāĻ—āĻ¤ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛ āĻ¯āĻ–āĻ¨ test.py āĻšāĻ˛ā§‡āĨ¤ āĻāĻ‡
āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž-āĻ°āĻžāĻ¨āĻžāĻ° āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸā§‡āĻŦāĻ˛ā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ¸ā§€āĻŽāĻžāĻŦāĻĻā§āĻ§āĻ¤āĻž āĻĒā§āĻ°āĻ¯ā§‹āĻœā§āĻ¯ āĻ¨āĻ¯āĻŧāĨ¤ āĻ…āĻ¤āĻāĻŦ, āĻ†āĻĒāĻ¨āĻŋ āĻ˛āĻ—āĻŋāĻ‚ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻšāĻžāĻ¨
āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻĨā§‡āĻ•ā§‡ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž-āĻ°āĻžāĻ¨āĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻšāĻžāĻ˛āĻžāĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤

āĻŸā§‡āĻ¸ā§āĻŸ-āĻ°āĻžāĻ¨āĻžāĻ° āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻŋāĻ•ā§‡ āĻ…āĻ¨ā§āĻ¯ āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ ns-3 āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸā§‡āĻŦāĻ˛ā§‡āĻ° āĻŽāĻ¤ā§‹ āĻšāĻžāĻ˛āĻžāĻ¨ -- āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡
āĻ“āĻ¯āĻŧāĻžāĻĢ. āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĒā§‡āĻ¤ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻŸāĻžāĻ‡āĻĒ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨:

$ ./waf --run "test-runner --help"

āĻ†āĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻŽāĻ¤ āĻ•āĻŋāĻ›ā§ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻšāĻŦā§‡

Waf: '/home/craigdo/repos/ns-3-allinone-test/ns-3-dev/build' āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻĒā§āĻ°āĻŦā§‡āĻļ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡
āĻ“āĻ¯āĻŧāĻžāĻĢ: āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ›ā§‡āĻĄāĻŧā§‡ āĻ¯āĻžāĻšā§āĻ›ā§‡ `/home/craigdo/repos/ns-3-allinone-test/ns-3-dev/build'
'āĻŦāĻŋāĻ˛ā§āĻĄ' āĻ¸āĻĢāĻ˛āĻ­āĻžāĻŦā§‡ āĻļā§‡āĻˇ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (0.353s)
--assert: āĻ•ā§‹āĻ¨ā§‹ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻļāĻ¨āĻžāĻ•ā§āĻ¤ āĻšāĻ˛ā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ—ā§āĻ˛ā§‹āĻ•ā§‡ āĻ¸ā§‡āĻ—āĻĢāĻ˛ā§āĻŸā§‡ āĻŦāĻ˛ā§āĻ¨ (āĻ¯ā§‡āĻŽāĻ¨ assert)
--basedir=dir: āĻŦā§‡āĻ¸ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ (āĻ•ā§‹āĻĨāĻžāĻ¯āĻŧ src āĻ–ā§āĻāĻœā§‡ āĻĒāĻžāĻŦā§‡āĻ¨) ''dir''-āĻ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨
--tempdir=dir: āĻ…āĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§€ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ (āĻ•ā§‹āĻĨāĻžāĻ¯āĻŧ āĻĄā§‡āĻŸāĻž āĻĢāĻžāĻ‡āĻ˛ āĻ–ā§āĻāĻœāĻ¤ā§‡ āĻšāĻŦā§‡) ''dir''-āĻ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨
--constrain=test-type: ''āĻŸā§‡āĻ¸ā§āĻŸ-āĻŸāĻžāĻ‡āĻĒ'' āĻŸāĻžāĻ‡āĻĒā§‡āĻ° āĻ¸ā§āĻ¯ā§āĻŸ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡ āĻšā§‡āĻ•āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¸ā§€āĻŽāĻžāĻŦāĻĻā§āĻ§ āĻ•āĻ°ā§āĻ¨
--help: āĻāĻ‡ āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻŸāĻŋ āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ āĻ•āĻ°ā§āĻ¨
-- āĻĒā§āĻ°āĻ•āĻžāĻ°: āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ§āĻ°āĻŖā§‡āĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ•āĻ°ā§āĻ¨
--āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž: āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¸ā§āĻ¯ā§āĻŸ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§āĻ¨ (āĻāĻšā§āĻ›āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž-āĻĒā§āĻ°āĻ•āĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸ā§€āĻŽāĻžāĻŦāĻĻā§āĻ§)
--out=file-name: āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻžāĻ¸ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĢāĻžāĻ‡āĻ˛āĻ•ā§‡ ''file-name''-āĻ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨
--suite=suite-name: ''suite-name'' āĻ¨āĻžāĻŽā§‡ āĻŸā§‡āĻ¸ā§āĻŸ āĻ¸ā§āĻ¯ā§āĻŸ āĻšāĻžāĻ˛āĻžāĻ¨
--āĻ­āĻžāĻ°āĻŦā§‹āĻ¸: āĻ°āĻžāĻ¨ āĻŸā§‡āĻ¸ā§āĻŸ āĻ¸ā§āĻ¯ā§āĻŸāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻ—ā§āĻ˛āĻŋ āĻšāĻžāĻ˛ā§ āĻ•āĻ°ā§āĻ¨

āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•āĻžāĻ›ā§‡ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻ…āĻ¨ā§‡āĻ•āĻ—ā§āĻ˛āĻŋ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•āĻžāĻ›ā§‡ āĻĨāĻžāĻ•āĻ˛ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ āĻšāĻŦā§‡
āĻĻāĻŋāĻ•ā§‡ āĻ¤āĻžāĻ•āĻŋāĻ¯āĻŧā§‡ test.py. āĻāĻŸāĻŋ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤ āĻšāĻ“āĻ¯āĻŧāĻž āĻ‰āĻšāĻŋāĻ¤ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻŸā§‡āĻ¸ā§āĻŸ-āĻ°āĻžāĻ¨āĻžāĻ° āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸
āĻŽāĻ§ā§āĻ¯ā§‡ test.py āĻāĻŦāĻ‚ ns-3. āĻ†āĻĒāĻ¨āĻŋ āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ¯ā§‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ-āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻāĻ–āĻžāĻ¨ā§‡ āĻ…āĻ¨ā§āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤āĨ¤
āĻ¯ā§‡ āĻ•āĻžāĻ°āĻŖ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ‡ āĻ¨āĻž ns-3 āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĨ¤ test.py āĻ¤āĻžāĻĻā§‡āĻ° āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻŽāĻ¤ āĻ¯āĻĻāĻŋ āĻ¤āĻžāĻ°āĻž āĻ›āĻŋāĻ˛
āĻāĻ•āĻŸāĻŋ āĻāĻ•ā§€āĻ­ā§‚āĻ¤ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻ¤ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¤āĻžāĻ°āĻž āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ‡ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ­āĻŋāĻ¨ā§āĻ¨ āĻāĻŦāĻ‚ āĻ¨āĻ¯āĻŧ
āĻāĻ–āĻžāĻ¨ā§‡ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§‡āĨ¤

āĻĒā§āĻ°āĻĨāĻŽ āĻ¨āĻ¤ā§āĻ¨ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ¯āĻž āĻāĻ–āĻžāĻ¨ā§‡ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻšāĻŦā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ test.py-āĻ āĻ¨āĻ¯āĻŧ --āĻœāĻžāĻšāĻŋāĻ° āĻ•āĻ°āĻž āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĨ¤ āĻāĻ‡
āĻāĻ•āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻĄāĻŋāĻŦāĻžāĻ— āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻŸāĻŋ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ¯āĻ–āĻ¨ āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻŦāĻžāĻ—āĻžāĻ°ā§‡āĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ āĻšāĻ˛āĻ›ā§‡ āĻœāĻŋāĻĄāĻŋāĻŦāĻŋāĨ¤ āĻ•āĻ–āĻ¨
āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻŋāĻ¤, āĻāĻ‡ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻŸāĻŋ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ­āĻžāĻœāĻ¨ āĻ˛āĻ™ā§āĻ˜āĻ¨ āĻ˜āĻŸāĻžāĻ¤ā§‡ āĻŦāĻ˛ā§‡
āĻāĻ•āĻŸāĻŋ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ¸āĻ¨āĻžāĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻļāĻ¨ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻžāĻ° āĻšāĻŽā§ŽāĻ•āĻžāĻ° āĻĒāĻžāĻ°ā§āĻļā§āĻŦ-āĻĒā§āĻ°āĻ¤āĻŋāĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ†āĻ›ā§‡
(āĻĄāĻŋāĻŦāĻžāĻ—āĻžāĻ°ā§‡ āĻŦāĻŋāĻ°āĻ¤āĻŋ) āĻ¯āĻ–āĻ¨ āĻāĻ•āĻŸāĻŋ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ¸āĻ¨āĻžāĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻœāĻŋāĻĄāĻŋāĻŦāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĻ¨ āĻ¤āĻŦā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻāĻ‡ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻŸāĻŋ āĻāĻŽāĻ¨ āĻ•āĻŋāĻ›ā§,

$ ./waf āĻļā§‡āĻ˛
$ cd āĻŦāĻŋāĻ˛ā§āĻĄ/āĻĄāĻŋāĻŦāĻžāĻ—/āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻ¸
$ gdb āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž-āĻ°āĻžāĻ¨āĻžāĻ°
$ run --suite=global-value --asssert

āĻ¯āĻĻāĻŋ āĻ—ā§āĻ˛ā§‹āĻŦāĻžāĻ˛-āĻ­ā§āĻ¯āĻžāĻ˛ā§ āĻŸā§‡āĻ¸ā§āĻŸ āĻ¸ā§āĻ¯ā§āĻŸā§‡ āĻāĻ•āĻŸāĻŋ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧ, āĻāĻ•āĻŸāĻŋ āĻ¸ā§‡āĻ—āĻĢāĻ˛ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻŦā§‡
āĻāĻŦāĻ‚ (āĻ‰ā§ŽāĻ¸ āĻ¸ā§āĻ¤āĻ°) āĻĄāĻŋāĻŦāĻžāĻ—āĻžāĻ° āĻĨā§‡āĻŽā§‡ āĻ¯āĻžāĻŦā§‡ NS_TEST_ASSERT_MSG āĻ¯ā§‡ āĻ¸āĻ¨āĻžāĻ•ā§āĻ¤
āĻ¤ā§āĻ°ā§āĻŸāĻŋāĨ¤

āĻāĻ–āĻžāĻ¨ā§‡ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻšāĻ˛ --āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ• āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻĻā§‡āĻ–āĻž āĻ¯āĻžāĻšā§āĻ›ā§‡ āĻ¯ā§‡ āĻ•āĻŋāĻ›ā§
āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ‰ā§ŽāĻ¸ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ ns-3 āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧ āĻ–ā§āĻāĻœā§‡ āĻĒā§‡āĻ¤ā§‡
āĻĄā§‡āĻŸāĻž, āĻ¤āĻžāĻ‡ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻāĻ•āĻŸāĻŋ āĻŦā§‡āĻ¸ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨āĨ¤

āĻ†āĻĒāĻ¨āĻŋ test.py āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻžāĻ˛āĻžāĻ˛ā§‡, āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŸāĻŋ āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§‡āĻ¸āĻŋāĻĄāĻŋāĻ¯āĻŧāĻžāĻ° āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻŦā§‡
āĻ†āĻĒāĻ¨āĻŋ. āĻāĻ•āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻŸā§‡āĻ¸ā§āĻŸ-āĻ°āĻžāĻ¨āĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ“āĻ¯āĻŧāĻžāĻĢ, āĻ¤ā§‹āĻŽāĻžāĻ° āĻĻāĻ°āĻ•āĻžāĻ° āĻšāĻŦā§‡
āĻŦā§‡āĻ¸ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻŸā§‡āĻ¸ā§āĻŸ āĻ¸ā§āĻ¯ā§āĻŸ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ¤āĻžāĻ‡ āĻ†āĻĒāĻ¨āĻŋ āĻļā§‡āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻāĻŦāĻ‚ āĻ•āĻ°:

$ ./waf --run "test-runner --basedir=`pwd` --suite=pcap-file-object"

āĻāĻ° āĻ‰āĻĒāĻ° ''āĻ…āĻ—ā§āĻ°āĻ¸āĻ°'' āĻ‰āĻĻā§āĻ§ā§ƒāĻ¤āĻŋ āĻšāĻŋāĻšā§āĻ¨āĻ—ā§āĻ˛āĻŋ āĻ¨ā§‹āĻŸ āĻ•āĻ°ā§āĻ¨ PWD āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻŦāĻžāĻ—āĻžāĻ° āĻĨā§‡āĻ•ā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¸ā§āĻ¯ā§āĻŸ āĻšāĻžāĻ˛āĻžāĻšā§āĻ›ā§‡āĻ¨, āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻž āĻŦā§‡āĻļ āĻŦā§‡āĻĻāĻ¨āĻžāĻĻāĻžāĻ¯āĻŧāĻ• āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻāĻŦāĻ‚ āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻĄāĻŋāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻļāĻ¨ āĻŦā§‡āĻ¸ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ° āĻĒāĻ°āĻŽ āĻĒāĻĨ āĻŸāĻžāĻ‡āĻĒ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ•āĻžāĻ°āĻŖā§‡
āĻāĻŸāĻŋ, āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻŦā§‡āĻ¸āĻĄāĻŋāĻ° āĻŦāĻžāĻĻ āĻĻā§‡āĻ¨ āĻ¤āĻŦā§‡ āĻŸā§‡āĻ¸ā§āĻŸ-āĻ°āĻžāĻ¨āĻžāĻ° āĻ†āĻĒāĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻŦā§‡āĻ° āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻŦā§‡āĨ¤ āĻāĻŸāĻž
āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻŋāĻ‚ āĻĄāĻžāĻ‡āĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻĄāĻžāĻ‡āĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻŸā§āĻ°āĻŋāĻ¤ā§‡ āĻšāĻ˛ā§‡ āĻ¯āĻžāĻ¯āĻŧ a āĻ–ā§āĻāĻœāĻ›ā§‡āĻ¨
āĻ¨āĻžāĻŽā§‡āĻ° āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻš āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻāĻŦāĻ‚ āĻ˛āĻžāĻ‡āĻ¸ā§‡āĻ¨ā§āĻ¸. āĻ¯āĻĻāĻŋ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ–ā§āĻāĻœā§‡ āĻĒāĻžāĻ¯āĻŧ, āĻāĻŸāĻŋ āĻ…āĻ¨ā§āĻŽāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻ¯ā§‡
āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ• āĻšāĻ¤ā§‡ āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡āĨ¤

āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ†āĻ‰āĻŸāĻĒā§āĻŸ
āĻ…āĻ¨ā§‡āĻ• āĻŸā§‡āĻ¸ā§āĻŸ āĻ¸ā§āĻ¯ā§āĻŸāĻ•ā§‡ āĻ…āĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§€ āĻĢāĻžāĻ‡āĻ˛ (āĻ¯ā§‡āĻŽāĻ¨ pcap āĻĢāĻžāĻ‡āĻ˛) āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻšāĻ¯āĻŧ
āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻ˛āĻŽāĻžāĻ¨āĨ¤ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§€ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨āĨ¤ āĻĒāĻžāĻ‡āĻĨāĻ¨
āĻŸā§‡āĻ¸ā§āĻŸ āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻŋāĻŸāĻŋ (test.py) āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§€ āĻĢāĻžāĻ‡āĻ˛ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻŦā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¯āĻĻāĻŋ āĻāĻ•āĻž āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧ
āĻāĻ‡ āĻ…āĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§€ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻž āĻ†āĻŦāĻļā§āĻ¯āĻ•. āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ•āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ¯ā§‡āĻŽāĻ¨, āĻāĻŸāĻŋ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻŦāĻŋāĻ°āĻ•ā§āĻ¤āĻŋāĻ•āĻ° --āĻŸā§‡āĻŽā§āĻĒāĻĄāĻŋāĻ°, āĻ¤āĻžāĻ‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ°āĻžāĻ¨āĻžāĻ° āĻāĻ• āĻ…āĻ™ā§āĻ• āĻ•āĻ°āĻŦā§‡
āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ¨āĻž āĻšāĻ˛ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻ‰āĻŸ. āĻāĻŸāĻŋ āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻ¨āĻžāĻŽā§‡āĻ° āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ āĻŸāĻŋāĻāĻŽāĻĒāĻŋ
āĻāĻŦāĻ‚ āĻŸā§‡āĻŽā§āĻĒ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤ āĻ¯āĻĻāĻŋ āĻ¨āĻž āĻšāĻ¯āĻŧ āĻŸāĻŋāĻāĻŽāĻĒāĻŋ āĻ¨āĻž āĻŸā§‡āĻŽā§āĻĒ āĻāĻŸāĻž āĻŦāĻžāĻ›āĻžāĻ‡ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ / tmp -āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡āĨ¤ āĻ•ā§‹āĻĄ
āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻ•āĻŸāĻŋ āĻļāĻ¨āĻžāĻ•ā§āĻ¤āĻ•āĻžāĻ°ā§€āĻ° āĻ‰āĻĒāĻ° āĻŸā§āĻ¯āĻžāĻ• āĻ•āĻ°ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻŋāĻ•āĻž (ns-3) āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĻ›ā§‡ āĻ¤āĻžāĻ°āĻĒāĻ° āĻ¸āĻŽāĻ¯āĻŧ
(hh.mm.ss) āĻāĻ° āĻĒāĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦāĻĄāĻŧ āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĨ¤ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ°āĻžāĻ¨āĻžāĻ° āĻāĻŸāĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡
āĻ…āĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§€ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¨āĻžāĻŽāĨ¤ āĻ…āĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§€ āĻĢāĻžāĻ‡āĻ˛ āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ¯āĻžāĻ¨ āĻ¯ā§‡
āĻāĻ°āĻ•āĻŽ āĻ•āĻŋāĻ›ā§ āĻ¨āĻžāĻŽ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻŦā§‡

/tmp/ns-3.10.25.37.61537845

āĻ¸āĻŽāĻ¯āĻŧ āĻāĻ•āĻŸāĻŋ āĻ‡āĻ™ā§āĻ—āĻŋāĻ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¯āĻžāĻ¤ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ¤ā§āĻ˛āĻ¨āĻžāĻŽā§‚āĻ˛āĻ•āĻ­āĻžāĻŦā§‡ āĻ¸āĻšāĻœā§‡ āĻ•āĻŋ āĻĒā§āĻ¨āĻ°ā§āĻ—āĻ āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻ†āĻĒāĻ¨āĻŋ āĻĢāĻŋāĻ°ā§‡ āĻ¯ā§‡āĻ¤ā§‡ āĻāĻŦāĻ‚ āĻ¯ā§‡ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯ā§‡ āĻĢāĻžāĻ‡āĻ˛ āĻ¤āĻžāĻ•āĻžāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ˛ā§‡ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ.

āĻ†āĻ‰āĻŸāĻĒā§āĻŸā§‡āĻ° āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ āĻšāĻ˛ āĻŸā§‡āĻ¸ā§āĻŸ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¯ā§‡āĻŽāĻ¨ pcap āĻŸā§āĻ°ā§‡āĻ¸ āĻ¯āĻž āĻ¤ā§āĻ˛āĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ†āĻ‰āĻŸāĻĒā§āĻŸāĨ¤ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ¸ā§āĻ¯ā§āĻŸāĻ—ā§āĻ˛āĻŋāĻ° āĻĒāĻ°ā§‡ āĻāĻ—ā§āĻ˛āĻŋ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻŦā§‡
āĻšāĻžāĻ˛āĻžāĻ¨ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻž āĻ…āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡, āĻšāĻžāĻ˛āĻžāĻ¨ test.py "āĻ°āĻŋāĻŸā§‡āĻ¨" āĻŦāĻŋāĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻ¸āĻžāĻĨā§‡:

$ ./test.py -r

āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§‡ āĻŸā§‡āĻ¸ā§āĻŸāĻĒāĻŋ-āĻ†āĻ‰āĻŸāĻĒā§āĻŸ/ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ.

āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻĻāĻ¨ of āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻž
āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻ–āĻ¨ āĻŸā§‡āĻ¸ā§āĻŸ-āĻ°āĻžāĻ¨āĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻŸā§‡āĻ¸ā§āĻŸ āĻ¸ā§āĻ¯ā§āĻŸ āĻšāĻžāĻ˛āĻžāĻ¨ āĻ¤āĻ–āĻ¨ āĻāĻŸāĻŋ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡ āĻļāĻžāĻ¨ā§āĻ¤āĻ­āĻžāĻŦā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻžāĻ˛āĻžāĻŦā§‡āĨ¤
āĻ†āĻĒāĻ¨āĻŋ āĻ¯ā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ¯āĻŧ āĻ‰āĻ¤ā§āĻ¤ā§€āĻ°ā§āĻŖ āĻšāĻŦā§‡āĻ¨ āĻ¸ā§‡āĻŸāĻžāĻ‡ āĻāĻ•āĻŽāĻžāĻ¤ā§āĻ° āĻ‡āĻ™ā§āĻ—āĻŋāĻ¤ āĻ…āĻ¨ā§āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻž
āĻĨā§‡āĻ•ā§‡ āĻ“āĻ¯āĻŧāĻžāĻĢ āĻŦāĻ˛āĻ›ā§‡ āĻ¯ā§‡ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŸāĻŋ āĻļā§‚āĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨ āĻ•ā§‹āĻĄ āĻ›āĻžāĻĄāĻŧāĻž āĻ…āĻ¨ā§āĻ¯ āĻ•āĻŋāĻ›ā§ āĻĢāĻŋāĻ°āĻŋāĻ¯āĻŧā§‡ āĻĻāĻŋāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻĒā§‡āĻ¤ā§‡
āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻĨā§‡āĻ•ā§‡ āĻ•āĻŋāĻ›ā§ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻŦā§‡
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° XML āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻ˛āĻŋāĻ–ā§āĻ¨ --āĻ†āĻ‰āĻŸ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻžāĻŦāĻ§āĻžāĻ¨ā§‡ āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡
āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ•āĻžāĻ°āĻŖ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¸ā§āĻ¯ā§āĻŸ āĻšāĻŦā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻœāĻ¨ āĻāĻ‡ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ‰āĻĒāĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛. āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§āĻ¨,

$ ./waf --run "test-runner --basedir=`pwd` --suite=pcap-file-object --out=myfile.xml"

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻĻā§‡āĻ–ā§‡āĻ¨ myfile.xml āĻ†āĻĒāĻ¨āĻžāĻ° āĻāĻŽāĻ¨ āĻ•āĻŋāĻ›ā§ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻšāĻŦā§‡,


pcap-āĻĢāĻžāĻ‡āĻ˛-āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ

PcapFile::Open āĻŽā§‹āĻĄā§‡ ''w'' āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ¤āĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§āĻ¨
āĻĒāĻžāĻ¸
āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ 0.00 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ 0.00 āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ 0.00


PcapFile::Open āĻŽā§‹āĻĄā§‡ ''r'' āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ¤āĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§āĻ¨
āĻĒāĻžāĻ¸
āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ 0.00 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ 0.00 āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ 0.00


PcapFile::Open āĻŽā§‹āĻĄā§‡ ''a'' āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ¤āĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§āĻ¨
āĻĒāĻžāĻ¸
āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ 0.00 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ 0.00 āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ 0.00


PcapFileHeader āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¤āĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§āĻ¨
āĻĒāĻžāĻ¸
āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ 0.00 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ 0.00 āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ 0.00


PcapRecordHeader āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¤āĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§āĻ¨
āĻĒāĻžāĻ¸
āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ 0.00 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ 0.00 āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ 0.00


PcapFile āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ āĻ­āĻžāĻ˛ pcap āĻĢāĻžāĻ‡āĻ˛ āĻĒāĻĄāĻŧāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¤āĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§āĻ¨
āĻĒāĻžāĻ¸
āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ 0.00 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ 0.00 āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ 0.00

āĻĒāĻžāĻ¸
āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ 0.00 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ 0.00 āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ 0.00


āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ XML āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ āĻšāĻ¨ āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻŽā§‹āĻŸāĻžāĻŽā§āĻŸāĻŋ āĻ¸ā§āĻŦ-āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻžāĻŽā§‚āĻ˛āĻ• āĻšāĻ“āĻ¯āĻŧāĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤ āĻāĻŸāĻŋāĻ“ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¯āĻŧ
XML āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻŸā§‡āĻ¸ā§āĻŸ āĻ¸ā§āĻ¯ā§āĻŸāĻ—ā§āĻ˛āĻŋ āĻ¤āĻžāĻĻā§‡āĻ° āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻāĻ•āĻŸāĻŋ āĻŽāĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
XML āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻžāĻ¸ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ test.py āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ.

āĻĄāĻŋāĻŦāĻžāĻ— āĻ•āĻ°āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻž
āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•ā§āĻ°ā§āĻ¯āĻžāĻļ āĻĄāĻŋāĻŦāĻžāĻ— āĻ•āĻ°āĻ¤ā§‡, āĻ¯ā§‡āĻŽāĻ¨

āĻ•ā§āĻ°ā§āĻ¯āĻžāĻļ: TestSuite ns3-āĻ“āĻ¯āĻŧāĻžāĻ‡āĻĢāĻžāĻ‡-āĻšāĻ¸ā§āĻ¤āĻ•ā§āĻˇā§‡āĻĒ

āĻ†āĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻŽā§āĻ¨ā§‹āĻ•ā§āĻ¤āĻ­āĻžāĻŦā§‡ gdb āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž-āĻ°āĻžāĻ¨āĻžāĻ° āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
"-basedir=`pwd`" āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ (āĻ†āĻĒāĻ¨āĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§€ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸāĻ“ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ•āĻŋāĻ¨ā§āĻ¤ā§
baseir āĻšāĻ˛ āĻ¸āĻ°ā§āĻŦāĻ¨āĻŋāĻŽā§āĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ):

$ ./waf --command-template="gdb %s" --run "āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž-āĻ°āĻžāĻ¨āĻžāĻ°"
Waf: '/home/tomh/hg/sep09/ns-3-allinone/ns-3-dev-678/build' āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻĒā§āĻ°āĻŦā§‡āĻļ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡
āĻ“āĻ¯āĻŧāĻžāĻĢ: āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ›ā§‡āĻĄāĻŧā§‡ āĻ¯āĻžāĻšā§āĻ›ā§‡ `/home/tomh/hg/sep09/ns-3-allinone/ns-3-dev-678/build'
'āĻŦāĻŋāĻ˛ā§āĻĄ' āĻ¸āĻĢāĻ˛āĻ­āĻžāĻŦā§‡ āĻļā§‡āĻˇ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (0.380s)
GNU gdb 6.8-āĻĄā§‡āĻŦāĻŋāĻ¯āĻŧāĻžāĻ¨
āĻ•āĻĒāĻŋāĻ°āĻžāĻ‡āĻŸ (C) 2008 Free Software Foundation, Inc.
L āĻ¸ā§‡āĻ¨ā§āĻ¸ GPLv3+: GNU GPL āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ 3 āĻŦāĻž āĻ¤āĻžāĻ° āĻĒāĻ°ā§‡http://gnu.org/licenses/gpl.html>
āĻāĻŸāĻŋ āĻŦāĻŋāĻ¨āĻžāĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°: āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻāĻŦāĻ‚ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ā§ˇ
āĻ†āĻ‡āĻ¨ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ…āĻ¨ā§āĻŽā§‹āĻĻāĻŋāĻ¤ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖā§‡ āĻ•ā§‹āĻ¨ āĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°ā§‡āĻ¨ā§āĻŸāĻŋ āĻ¨ā§‡āĻ‡āĨ¤ āĻŸāĻžāĻ‡āĻĒ āĻ•āĻ°ā§āĻ¨ "āĻ•āĻĒāĻŋ āĻ•āĻ°āĻž āĻĻā§‡āĻ–āĻžāĻ¨"
āĻāĻŦāĻ‚ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻœāĻžāĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯ "āĻ“āĻ¯āĻŧāĻžāĻ°ā§‡āĻ¨ā§āĻŸāĻŋ āĻĻā§‡āĻ–āĻžāĻ¨"āĨ¤
āĻāĻ‡ GDB "x86_64-linux-gnu" āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛...
(gdb) r --basedir=`pwd`
āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻļā§āĻ°ā§ āĻšāĻšā§āĻ›ā§‡: <..>/build/debug/utils/test-runner --basedir=`pwd`
[libthread_db āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĨā§āĻ°ā§‡āĻĄ āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ]
āĻœāĻžāĻšāĻŋāĻ° āĻ•āĻ°āĻž āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡. file=../src/core/model/type-id.cc, line=138, cond="uid <= m_information.size () && uid != 0"
...

āĻāĻ–āĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻŽā§‡āĻŽāĻ°āĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻĄāĻŋāĻŦāĻžāĻ— āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ­ā§āĻ¯āĻžāĻ˛āĻ—ā§āĻ°āĻŋāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯ā§‡āĻŽāĻ¨:

VALGR: TestSuite āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸-āĻŽā§‡āĻļ-āĻĄāĻŸ11-āĻ°āĻŋāĻ—ā§āĻ°ā§‡āĻļāĻ¨

$ ./waf --command-template="valgrind %s --basedir=`pwd` --suite=devices-mesh-dot11s-regression" --āĻ°āĻžāĻ¨ āĻŸā§‡āĻ¸ā§āĻŸ-āĻ°āĻžāĻ¨āĻžāĻ°

āĻļā§āĻ°ā§‡āĻŖā§€ āĻŸā§‡āĻ¸ā§āĻŸāĻ°āĻžāĻ¨āĻžāĻ°
āĻ¯ā§‡ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸā§‡āĻŦāĻ˛āĻ—ā§āĻ˛āĻŋ āĻĄā§‡āĻĄāĻŋāĻ•ā§‡āĻŸā§‡āĻĄ āĻŸā§‡āĻ¸ā§āĻŸ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻšāĻžāĻ˛āĻžāĻ¯āĻŧ āĻ¤āĻžāĻ°āĻž āĻāĻ•āĻŸāĻŋ TestRunner āĻ•ā§āĻ˛āĻžāĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤ āĻāĻ‡ āĻŦāĻ°ā§āĻ—
āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡, āĻ¸ā§‡āĻ‡āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻ¯āĻŧ
āĻ¸ā§āĻŦāĻ¤āĻ¨ā§āĻ¤ā§āĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĨ¤ āĻ¸ā§āĻŦāĻ¤āĻ¨ā§āĻ¤ā§āĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¸ā§āĻ¯ā§āĻŸāĻ—ā§āĻ˛āĻŋ āĻ¨āĻŋāĻœā§‡āĻĻā§‡āĻ° āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡ C++ āĻ—ā§āĻ˛ā§‹āĻŦāĻžāĻ˛ āĻ•āĻ¨āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•ā§āĻŸāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡
āĻŸā§‡āĻ¸ā§āĻŸ āĻ°āĻžāĻ¨āĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻŋāĻ¤ āĻŸā§‡āĻ¸ā§āĻŸ āĻ¸ā§āĻ¯ā§āĻŸāĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĨ¤ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ°āĻžāĻ¨āĻžāĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻāĻŦāĻ‚ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°āĻ¤ā§‡āĨ¤ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻŦā§‡āĻļ āĻ¸āĻšāĻœ āĻ•ā§āĻ˛āĻžāĻ¸
āĻ¯ā§‡ āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻ…āĻĨāĻŦāĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¸ā§āĻ¯ā§āĻŸ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž a
āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĨ¤ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻ•ā§āĻ¸āĻŋāĻœā§‡āĻ¨ āĻĻā§‡āĻ–ā§āĻ¨ ns3::TestRunner āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻœāĻžāĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯.

āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¸ā§āĻ‡āĻŸ
āĻ¸āĻŦ ns-3 āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻŸā§‡āĻ¸ā§āĻŸ āĻ¸ā§āĻ¯ā§āĻŸ āĻāĻŦāĻ‚ āĻŸā§‡āĻ¸ā§āĻŸ āĻ•ā§‡āĻ¸ā§‡ āĻļā§āĻ°ā§‡āĻŖā§€āĻŦāĻĻā§āĻ§ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¸ā§āĻ¯ā§āĻŸ āĻāĻ•āĻŸāĻŋ
āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ•ā§‡āĻ¸āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻ¯āĻž āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ§āĻ°āĻŖā§‡āĻ° āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻ…āĻ¨ā§āĻļā§€āĻ˛āĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§‡
āĻ‰āĻĒāĻ°ā§‡ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤, āĻŸā§‡āĻ¸ā§āĻŸ āĻ¸ā§āĻ¯ā§āĻŸāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻļā§āĻ°ā§‡āĻŖā§€āĻŦāĻĻā§āĻ§ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡,

¡ āĻ¯āĻžāĻšāĻžāĻ‡āĻ•āĻ°āĻŖ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨

¡ āĻ‡āĻ‰āĻ¨āĻŋāĻŸ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž

¡ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻŸā§‡āĻ¸ā§āĻŸ

¡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ

¡ āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž

āĻāĻ‡ āĻļā§āĻ°ā§‡āĻŖā§€āĻŦāĻŋāĻ­āĻžāĻ—āĻŸāĻŋ TestSuite āĻ•ā§āĻ˛āĻžāĻ¸ āĻĨā§‡āĻ•ā§‡ āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻ‡ āĻ•ā§āĻ˛āĻžāĻ¸āĻŸāĻŋ āĻŦā§‡āĻļ āĻ¸āĻšāĻœ,
āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻœāĻŽāĻž āĻ•āĻ°āĻžāĻ° āĻœāĻžāĻ¯āĻŧāĻ—āĻž āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨āĨ¤ āĻāĻ•āĻœāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻ•āĻžāĻ› āĻĨā§‡āĻ•ā§‡
āĻĻā§ƒāĻˇā§āĻŸāĻŋāĻ•ā§‹āĻŖ, āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ TestSuite āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻœāĻ¨āĻ•ā§‡ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡
āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¯ā§‡ āĻ•ā§āĻ˛āĻžāĻ¸ āĻĨā§‡āĻ•ā§‡ āĻ‰āĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ°āĻ¸ā§‚āĻ¤ā§āĻ°ā§‡ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¸ā§āĻ¯ā§āĻŸ āĻāĻŦāĻ‚ āĻāĻ‡ āĻĻā§āĻŸāĻŋ āĻĻāĻžāĻ¯āĻŧāĻŋāĻ¤ā§āĻŦ āĻĒāĻžāĻ˛āĻ¨ āĻ•āĻ°ā§āĻ¨āĨ¤

āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•ā§‹āĻĄ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻŦā§‡ āĻ¯āĻž āĻĻā§āĻŦāĻžāĻ°āĻž āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ test.py āĻāĻ•āĻŸāĻŋ ''āĻ‡āĻ‰āĻ¨āĻŋāĻŸ'' āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻŋāĻ¸āĻžāĻŦā§‡
āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ā§‡āĻ° āĻ¨āĻžāĻŽ āĻ¸āĻš, āĻ†āĻŽāĻžāĻ°-āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž-āĻ¸ā§āĻ¯ā§āĻŸ-āĻ¨āĻžāĻŽ.

āĻ•ā§āĻ˛āĻžāĻ¸ MySuite: āĻĒāĻžāĻŦāĻ˛āĻŋāĻ• TestSuite
{
āĻĒā§āĻ°āĻ•āĻžāĻļā§āĻ¯:
MyTestSuite ();
};

MyTestSuite::MyTestSuite ()
: TestSuite ("my-test-suite-name", UNIT)
{
AddTestCase (āĻ¨āĻ¤ā§āĻ¨ MyTestCase);
}

MyTestSuite myTestSuite;

āĻŦā§‡āĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸ āĻāĻ•āĻŸāĻŋ āĻ­āĻžāĻ˛ āĻšāĻ¤ā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ āĻāĻŦāĻ‚ āĻ°āĻŋāĻĒā§‹āĻ°ā§āĻŸāĻŋāĻ‚ āĻ¸āĻŦ āĻ¯āĻ¤ā§āĻ¨ āĻ¨ā§‡āĻ¯āĻŧ
āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ•āĻžāĻ āĻžāĻŽā§‹āĻ¤ā§‡ āĻ¨āĻžāĻ—āĻ°āĻŋāĻ•āĨ¤

āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•ā§‡āĻ¸
āĻāĻ•āĻŸāĻŋ TestCase āĻ•ā§āĻ˛āĻžāĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĒā§ƒāĻĨāĻ• āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŽāĻĄā§‡āĻ˛
āĻ•ā§‡āĻ¸ "āĻĢāĻŋāĻšāĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋ āĻāĻ•āĻŸāĻŋ āĻŸā§‡āĻ¸ā§āĻŸ āĻ•ā§‡āĻ¸" āĻāĻŦāĻ‚ "āĻĒā§āĻ°āĻ¤āĻŋ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻŸā§‡āĻ¸ā§āĻŸ āĻ•ā§‡āĻ¸" āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ā§ˇ āĻāĻ° āĻŽāĻŋāĻļā§āĻ°āĻŖ
āĻāĻ‡ āĻŽāĻĄā§‡āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡.

āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻŸā§‡āĻ¸ā§āĻŸ āĻ•ā§‡āĻ¸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ¯āĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¤āĻž āĻšāĻ˛ āĻĨā§‡āĻ•ā§‡ āĻ‰āĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ°ā§€ āĻšāĻ“āĻ¯āĻŧāĻž
āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻŦā§‡āĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸, āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻžāĻŽ āĻĻāĻŋāĻ¤ā§‡ āĻ•āĻ¨āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•ā§āĻŸāĻ°āĻ•ā§‡ āĻ“āĻ­āĻžāĻ°āĻ°āĻžāĻ‡āĻĄ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻ“āĻ­āĻžāĻ°āĻ°āĻžāĻ‡āĻĄ āĻ•āĻ°ā§āĻ¨
āĻĻā§āĻ¯ DoRun āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĨ¤

āĻ•ā§āĻ˛āĻžāĻ¸ āĻŽāĻžāĻ‡āĻŸā§‡āĻ¸ā§āĻŸāĻ•ā§‡āĻ¸: āĻĒāĻžāĻŦāĻ˛āĻŋāĻ• āĻŸā§‡āĻ¸ā§āĻŸāĻ•ā§‡āĻ¸
{
MyTestCase ();
āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° DoRun (āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°);
};

MyTestCase ::MyTestCase ()
: āĻŸā§‡āĻ¸ā§āĻŸāĻ•ā§‡āĻ¸ ("āĻ•āĻŋāĻ›ā§ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§āĻ¨")
{
}

āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°
MyTestCase::DoRun (āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°)
{
NS_TEST_ASSERT_MSG_EQ (āĻ¸āĻ¤ā§āĻ¯, āĻ¸āĻ¤ā§āĻ¯, "āĻ•āĻŋāĻ›ā§ āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻžāĻ° āĻŦāĻžāĻ°ā§āĻ¤āĻž");
}

āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻŋāĻŸāĻŋāĻ¸
āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ§āĻ°āĻŖā§‡āĻ° āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻŋāĻŸāĻŋ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ…āĻ‚āĻļ
āĻ•āĻžāĻ āĻžāĻŽā§‹ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖā§€āĻ•ā§ƒāĻ¤ pcap āĻĢāĻžāĻ‡āĻ˛ āĻ¯āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ­ā§‡āĻ•ā§āĻŸāĻ° āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĻāĻ°āĻ•āĻžāĻ°ā§€; āĻ•
āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ­ā§‡āĻ•ā§āĻŸāĻ°ā§‡āĻ° āĻ•ā§āĻˇāĻŖāĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§€ āĻ¸āĻžā§āĻšāĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĻāĻ°āĻ•āĻžāĻ°ā§€ āĻœā§‡āĻ¨ā§‡āĻ°āĻŋāĻ• āĻ§āĻžāĻ°āĻ•; āĻāĻŦāĻ‚
āĻŦā§ˆāĻ§āĻ¤āĻž āĻāĻŦāĻ‚ āĻ¯āĻžāĻšāĻžāĻ‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž āĻ¤ā§ˆāĻ°āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽāĨ¤

āĻāĻ‡ āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻŋāĻŸāĻŋāĻ—ā§āĻ˛āĻŋ āĻāĻ–āĻžāĻ¨ā§‡ āĻ¨āĻĨāĻŋāĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻĻā§‡āĻ–ā§āĻ¨ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ TCP āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡
āĻĒāĻžāĻ“āĻ¯āĻŧāĻž src/test/ns3tcp/ pcap āĻĢāĻžāĻ‡āĻ˛ āĻāĻŦāĻ‚ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨āĨ¤

āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻĨā§‡āĻ•ā§‡ āĻ˛ā§‡āĻ–āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž
ns-3 āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻšāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻŦā§ˆāĻ§āĻ¤āĻž āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°āĻž āĻāĻŦāĻ‚
āĻ¤āĻžāĻĻā§‡āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ā§‡āĻ° āĻŦāĻŋāĻļā§āĻŦāĻžāĻ¸āĻ¯ā§‹āĻ—ā§āĻ¯āĻ¤āĻžāĨ¤ āĻŦā§ˆāĻ§ āĻŽāĻĄā§‡āĻ˛ āĻĒāĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ¨ā§‡āĻ• āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ†āĻ›ā§‡ āĻāĻŦāĻ‚
āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨, āĻāĻŦāĻ‚ āĻŸā§‡āĻ¸ā§āĻŸāĻŋāĻ‚ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĨ¤ āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻŋ āĻŽāĻĄā§‡āĻ˛ āĻŦāĻž āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ…āĻŦāĻĻāĻžāĻ¨
ns-3, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ•ā§‹āĻĄ āĻĻāĻŋāĻ¤ā§‡ āĻŦāĻ˛āĻž āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ…āĻŦāĻĻāĻžāĻ¨ āĻ¯ā§‡ āĻŽāĻĄā§‡āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻŦā§‡
āĻ…āĻ¨ā§‡āĻ• āĻŦāĻ›āĻ° āĻ§āĻ°ā§‡ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ˛ā§‹āĻ•ā§‡āĻĻā§‡āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž, āĻ¯āĻžāĻ°āĻž āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻĒā§āĻ°āĻĨāĻŽ āĻ¨āĻœāĻ°ā§‡ āĻ•ā§‹āĻ¨ āĻ§āĻžāĻ°āĻŖāĻž āĻ¨ā§‡āĻ‡ āĻ•āĻŋāĻ¨āĻž
āĻŽāĻĄā§‡āĻ˛ āĻ¸āĻ āĻŋāĻ•āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻŽāĻĄā§‡āĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¯ā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ•ā§‹āĻĄ āĻ˛āĻŋāĻ–āĻŦā§‡āĻ¨ āĻ¤āĻž āĻ­āĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§‡ āĻāĻĄāĻŧāĻžāĻ¤ā§‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°āĻŦā§‡
āĻ†āĻ‰āĻŸāĻĒā§āĻŸā§‡ āĻ°āĻŋāĻ—ā§āĻ°ā§‡āĻļāĻ¨ āĻāĻŦāĻ‚ āĻ­āĻŦāĻŋāĻˇā§āĻ¯āĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻ¯āĻžāĻšāĻžāĻ‡āĻ•āĻ°āĻŖ āĻŦā§āĻāĻ¤ā§‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°āĻŦā§‡ āĻāĻŦāĻ‚
āĻ†āĻĒāĻ¨āĻžāĻ° āĻŽāĻĄā§‡āĻ˛ā§‡āĻ° āĻĒā§āĻ°āĻ¯ā§‹āĻœā§āĻ¯āĻ¤āĻžāĻ° āĻ¸ā§€āĻŽāĻžāĻ¨āĻžāĨ¤

āĻāĻ•āĻŸāĻŋ āĻŽāĻĄā§‡āĻ˛ā§‡āĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻ¸āĻ āĻŋāĻ•āĻ¤āĻž āĻ¯āĻžāĻšāĻžāĻ‡ āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§‡āĻ• āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻ†āĻ›ā§‡āĨ¤ āĻāĻ‡
āĻŦāĻŋāĻ­āĻžāĻ—ā§‡, āĻ†āĻŽāĻ°āĻž āĻ•āĻŋāĻ›ā§ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ•āĻ­āĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ†āĻļāĻž āĻ•āĻ°āĻŋ āĻ¯ā§‡āĻ—ā§āĻ˛āĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ˛ā§‡āĻ–āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ—āĻžāĻ‡āĻĄ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĨ¤

āĻ¨āĻŽā§āĻ¨āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¸ā§āĻ¯ā§āĻŸ āĻ•āĻ™ā§āĻ•āĻžāĻ˛
āĻ¸ā§āĻ•ā§āĻ°ā§āĻ¯āĻžāĻš āĻĨā§‡āĻ•ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ (āĻ¯ā§‡āĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ TestSuite-āĻ āĻāĻ•āĻŸāĻŋ TestCase āĻ¯ā§‹āĻ— āĻ¨āĻž āĻ•āĻ°āĻž), āĻāĻ‡āĻ—ā§āĻ˛āĻŋ
āĻŦāĻŋāĻˇāĻ¯āĻŧāĻ—ā§āĻ˛āĻŋ āĻ¸āĻžāĻŽāĻ¨ā§‡ āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻĻāĻ°āĻ•āĻžāĻ°:

¡ āĻŸā§‡āĻ¸ā§āĻŸ āĻ¸ā§āĻ¯ā§āĻŸāĻ•ā§‡ āĻ•ā§€ āĻŦāĻ˛āĻž āĻšāĻŦā§‡

¡ āĻāĻŸāĻŋ āĻ•āĻŋ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻŦā§‡ (āĻŦāĻŋāĻ˛ā§āĻĄ āĻ­ā§‡āĻ°āĻŋāĻĢāĻŋāĻ•ā§‡āĻļāĻ¨ āĻŸā§‡āĻ¸ā§āĻŸ, āĻ‡āĻ‰āĻ¨āĻŋāĻŸ āĻŸā§‡āĻ¸ā§āĻŸ, āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻŸā§‡āĻ¸ā§āĻŸ, āĻŦāĻž
āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž)

¡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ•ā§‹āĻĄ āĻĨāĻžāĻ•āĻŦā§‡ (āĻšāĻ¯āĻŧ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ ns-3 āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡ āĻŦāĻž āĻ†āĻ˛āĻžāĻĻāĻžāĻ­āĻžāĻŦā§‡
src/test/ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ)āĨ¤ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¸ā§‡āĻ‡ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ wscript āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡
āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻ•ā§‹āĻĄ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ•āĻ°ā§āĻ¨, āĻ¯āĻĻāĻŋ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĢāĻžāĻ‡āĻ˛ āĻšāĻ¯āĻŧāĨ¤

āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ src/create-module.py āĻāĻ•āĻŸāĻŋ āĻ­āĻžāĻ˛ āĻļā§āĻ°ā§ āĻŦāĻŋāĻ¨ā§āĻĻā§. āĻāĻ‡ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ¯ā§‡āĻŽāĻ¨ āĻ†āĻšā§āĻŦāĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ create-module.py āĻ°āĻžāĻ‰āĻŸāĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨ā§āĻŽāĻžāĻ¨āĻŽā§‚āĻ˛āĻ• āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¨āĻžāĻŽāĻ• āĻœāĻ¨ā§āĻ¯ āĻ°āĻžāĻ‰āĻŸāĻžāĻ°āĨ¤ āĻāĻ•āĻĻāĻž
āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻŋ āĻ•āĻ°ā§āĻ¨, āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻŦā§‡āĻ¨ āĻ°āĻžāĻ‰āĻŸāĻžāĻ° āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ, āĻāĻŦāĻ‚ āĻ• test/router-test-suite.cc āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¸ā§āĻ¯ā§āĻŸ.
āĻāĻ‡ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ¸ā§‚āĻšāĻ¨āĻž āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻŋāĻ‚ āĻŸā§‡āĻ¸ā§āĻŸ āĻ¸ā§āĻ¯ā§āĻŸ,
āĻ¯āĻĻāĻŋāĻ“ āĻ¸āĻžā§āĻšāĻžāĻ˛āĻŋāĻ¤ āĻĒā§āĻ°āĻ•ā§ƒāĻ¤ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¤ā§āĻšā§āĻ›āĨ¤ āĻāĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡āĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ¯āĻŧ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ•āĻ°ā§āĻ¨
āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ, āĻāĻŦāĻ‚ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻ•āĻŋāĻ›ā§āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸ā§‡āĻ‡ āĻĢāĻžāĻ‡āĻ˛ā§‡ "āĻ°āĻžāĻ‰āĻŸāĻžāĻ°" āĻāĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻļā§āĻŦāĻŦā§āĻ¯āĻžāĻĒā§€ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°ā§āĻ¨
āĻ†āĻĒāĻ¨āĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨ āĻ¯ā§‡ āĻŽāĻĄā§‡āĻ˛. āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻ°āĻ“ āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻŽā§‚āĻ˛āĻ• āĻ¯ā§‡āĻŽāĻ¨ āĻœāĻŋāĻ¨āĻŋāĻ¸āĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ¨āĻžāĻŽāĨ¤

āĻāĻ‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻŸāĻŋ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° wscript āĻ āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ˛āĻ• āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡:

module_test.source = [
'test/router-test-suite.cc',
]

āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻ¸āĻ˛ā§‡ āĻāĻŸāĻŋ āĻĻāĻ°āĻ•āĻžāĻ°ā§€ āĻœāĻŋāĻ¨āĻŋāĻ¸āĻ—ā§āĻ˛āĻŋ āĻ•āĻ°āĻž āĻļā§āĻ°ā§ āĻ•āĻ°āĻžāĻ° āĻ†āĻ—ā§‡, āĻāĻŸāĻŋ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ•āĻ™ā§āĻ•āĻžāĻ˛ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡ ns-3 "--enable-tests" āĻŦāĻŋāĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
āĻ§āĻ°āĻž āĻ¯āĻžāĻ• āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻŸā§‡āĻ¸ā§āĻŸ āĻ¸ā§āĻ¯ā§āĻŸāĻŸāĻŋāĻ•ā§‡ "āĻ°āĻžāĻ‰āĻŸāĻžāĻ°" āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ āĻ¯ā§‡āĻŽāĻ¨ āĻāĻ–āĻžāĻ¨ā§‡:

RouterTestSuite::RouterTestSuite ()
: TestSuite ("āĻ°āĻžāĻ‰āĻŸāĻžāĻ°", UNIT)

āĻāĻ‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§āĻ¨:

$ ./test.py -s āĻ°āĻžāĻ‰āĻŸāĻžāĻ°

āĻ¨ā§€āĻšā§‡āĻ° āĻŽāĻ¤ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ‰āĻ¤ā§āĻĒāĻžāĻĻāĻŋāĻ¤ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤:

āĻĒāĻžāĻ¸: āĻŸā§‡āĻ¸ā§āĻŸāĻ¸ā§āĻ‡āĻŸ āĻ°āĻžāĻ‰āĻŸāĻžāĻ°
1āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ¯āĻŧ 1āĻŸāĻŋ āĻĒāĻžāĻ¸ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (1āĻŸāĻŋ āĻĒāĻžāĻ¸ āĻ•āĻ°ā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§‡ āĻ—ā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻ•ā§āĻ°ā§āĻ¯āĻžāĻļ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻ­āĻžāĻ˛āĻ—ā§āĻ°āĻŋāĻ¨ā§āĻĄ āĻ¤ā§āĻ°ā§āĻŸāĻŋ)

āĻāĻ•āĻŸāĻŋ āĻ•āĻžāĻœā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ src/lte/test/test-lte-antenna.cc āĻĻā§‡āĻ–ā§āĻ¨āĨ¤

āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻŽā§āĻ¯āĻžāĻ•ā§āĻ°ā§‹
āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻšā§‡āĻ• āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻŽā§āĻ¯āĻžāĻ•ā§āĻ°ā§‹ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž
āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻāĻ‡ āĻŽā§āĻ¯āĻžāĻ•ā§āĻ°ā§‹ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ src/core/model/test.h.

āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻŽā§āĻ¯āĻžāĻ•ā§āĻ°ā§‹āĻ—ā§āĻ˛āĻŋāĻ° āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ¸ā§‡āĻŸāĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤āĻ—ā§āĻ˛āĻŋ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:

NS_TEST_ASSERT_MSG_EQ(āĻĒā§āĻ°āĻ•ā§ƒāĻ¤, āĻ¸ā§€āĻŽāĻž, āĻŦāĻžāĻ°ā§āĻ¤āĻž)
NS_TEST_ASSERT_MSG_NE(āĻĒā§āĻ°āĻ•ā§ƒāĻ¤, āĻ¸ā§€āĻŽāĻž, āĻŦāĻžāĻ°ā§āĻ¤āĻž)
NS_TEST_ASSERT_MSG_LT(āĻĒā§āĻ°āĻ•ā§ƒāĻ¤, āĻ¸ā§€āĻŽāĻž, āĻŦāĻžāĻ°ā§āĻ¤āĻž)
NS_TEST_ASSERT_MSG_GT(āĻĒā§āĻ°āĻ•ā§ƒāĻ¤, āĻ¸ā§€āĻŽāĻž, āĻŦāĻžāĻ°ā§āĻ¤āĻž)
NS_TEST_ASSERT_MSG_EQ_TOL(āĻĒā§āĻ°āĻ•ā§ƒāĻ¤, āĻ¸ā§€āĻŽāĻž, āĻŸā§‹āĻ˛, āĻŦāĻžāĻ°ā§āĻ¤āĻž)

āĻĒā§āĻ°āĻĨāĻŽ āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻ†āĻ¸āĻ˛ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ āĻŽāĻžāĻ¨, āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻŽāĻžāĻ¨ āĻ¸ā§€āĻŽāĻž āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤
āĻŽāĻžāĻ¨ (āĻ…āĻĨāĻŦāĻž āĻāĻ° āĻŦāĻŋāĻ°ā§āĻĻā§āĻ§ā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻžāĻ° āĻŽāĻžāĻ¨), āĻāĻŦāĻ‚ āĻļā§‡āĻˇ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻž
āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻ˛ā§‡ āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ āĻ†āĻ‰āĻŸ.

āĻ‰āĻĒāĻ°ā§‡āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻšāĻžāĻ°āĻŸāĻŋ āĻŽā§āĻ¯āĻžāĻ•ā§āĻ°ā§‹ āĻ¸āĻŽāĻ¤āĻž, āĻ…āĻ¸āĻŽāĻ¤āĻž, āĻāĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻ•āĻŽ āĻŦāĻž āĻ¤āĻžāĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻŦā§‡āĻļāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž
āĻ¯āĻĨāĻžāĻ•ā§āĻ°āĻŽā§‡ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻĒāĻžā§āĻšāĻŽ āĻŽā§āĻ¯āĻžāĻ•ā§āĻ°ā§‹ āĻ¸āĻŽāĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¸āĻšāĻ¨āĻļā§€āĻ˛āĻ¤āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡āĨ¤
āĻāĻ•āĻŸāĻŋ āĻ¸ā§€āĻŽāĻžāĻ° āĻŦāĻŋāĻĒāĻ°ā§€āĻ¤ā§‡ āĻ¸āĻŽāĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĢā§āĻ˛ā§‹āĻŸāĻŋāĻ‚ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻ¨āĻŽā§āĻŦāĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻ‡ āĻŦā§ˆāĻ•āĻ˛ā§āĻĒāĻŋāĻ•āĻŸāĻŋ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°,
āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ°āĻžāĻ‰āĻ¨ā§āĻĄāĻŋāĻ‚ āĻ¤ā§āĻ°ā§āĻŸāĻŋāĻ° āĻ•āĻžāĻ°āĻŖā§‡ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻž āĻāĻĄāĻŧāĻžāĻ¤ā§‡ āĻšāĻžāĻ¨āĨ¤

āĻ¸āĻŦāĻļā§‡āĻˇā§‡, āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ­ā§āĻ¯āĻžāĻ°āĻŋāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻ†āĻ›ā§‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ•āĻŋāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻ†āĻ›ā§‡ āĻœāĻžāĻšāĻŋāĻ° āĻ•āĻ°āĻž āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻž āĻ•āĻ°ā§āĻ¨.
āĻāĻ‡ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻ—ā§āĻ˛āĻŋ āĻŦāĻŋāĻļā§‡āĻˇāĻ­āĻžāĻŦā§‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ¤ā§‡ (āĻŦāĻŋāĻļā§‡āĻˇ āĻ•āĻ°ā§‡ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ•) āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨āĻŋāĻ‚ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ¯ā§‡ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ•āĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĻ¨ āĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¤āĻžāĻĻā§‡āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§āĻ¨; āĻ…āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨
āĻĻā§āĻ¯ āĻœāĻžāĻšāĻŋāĻ° āĻ•āĻ°āĻž āĻ°ā§‚āĻĒāĻ—ā§āĻ˛ā§‹āĨ¤

āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻĨā§‡āĻ•ā§‡ āĻ¯ā§‹āĻ— an āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ•āĻžāĻ°ā§āĻ¯āĻ•ā§āĻ°āĻŽ āĻĨā§‡āĻ•ā§‡ āĻĻā§āĻ¯ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ
āĻ•ā§‡āĻ‰ "āĻ§ā§‚āĻŽāĻĒāĻžāĻ¨ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž" āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¯ā§‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ—ā§āĻ˛āĻŋ āĻ¸āĻ‚āĻ•āĻ˛āĻ¨ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ¸āĻĢāĻ˛āĻ­āĻžāĻŦā§‡ āĻ¸āĻŽāĻžāĻĒā§āĻ¤āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧ (āĻŦāĻŋāĻ¨āĻž
āĻŽā§‡āĻŽāĻ°āĻŋ āĻĢāĻžāĻāĻ¸) āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ-to-run.py āĻ†āĻĒāĻ¨āĻžāĻ° āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡āĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ…āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĨ¤
āĻ¸āĻ‚āĻ•ā§āĻˇā§‡āĻĒā§‡, āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻāĻ‡ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻ˜āĻŸāĻžāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ­ā§āĻ•ā§āĻ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ—ā§āĻ˛āĻŋ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ°āĻžāĻ¨āĻžāĻ°āĨ¤ āĻāĻŸāĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻž āĻ­āĻžāĻ˛
āĻāĻŽāĻ¨ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ—ā§āĻ˛āĻŋ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡āĻ—ā§āĻ˛āĻŋāĻ° āĻšāĻ˛āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻ¸āĻ™ā§āĻ—āĻ¤āĻ­āĻžāĻŦā§‡ āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻšāĻ¯āĻŧ āĻ¯āĻžāĻ¤ā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ—ā§āĻ˛āĻŋ āĻŦāĻŋāĻ­ā§āĻ°āĻžāĻ¨ā§āĻ¤ āĻ¨āĻž āĻšāĻ¯āĻŧāĨ¤ āĻĻā§‡āĻ–āĻž
āĻŽāĻ§ā§āĻ¯ā§‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ src/lte/āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž/ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ.

āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻŽā§‚āĻ˛āĻ• āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻŦā§āĻ˛āĻŋāĻ¯āĻŧāĻžāĻ¨ āĻĢāĻ˛āĻžāĻĢāĻ˛
āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻŽā§‚āĻ˛āĻ• āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ•āĻ–āĻ¨ āĻ¯āĻĻā§ƒāĻšā§āĻ›āĻ¤āĻž is āĻœāĻĄāĻŧāĻŋāĻ¤
āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻŽā§‚āĻ˛āĻ• āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ‰āĻĒāĻžāĻ¤ā§āĻ¤ āĻŦāĻŋāĻ°ā§āĻĻā§āĻ§ā§‡ a āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ āĻŦāĻŋāĻ¤āĻ°āĻŖ
āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ… āĻ¤ā§āĻšā§āĻ› āĻ‡āĻ¨āĻĒā§āĻŸ āĻ­ā§‡āĻ•ā§āĻŸāĻ° of āĻ‰āĻĒāĻžāĻ¤ā§āĻ¤
āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻāĻŦāĻ‚ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ… āĻ¤ā§āĻšā§āĻ› āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ‰āĻĒāĻžāĻ¤ā§āĻ¤
āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž āĻ¤ā§‹āĻŽāĻžāĻ° āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ‰āĻĒāĻžāĻ¤ā§āĻ¤
āĻ¸āĻšāĻžāĻ¯āĻŧāĻ¤āĻž
āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ a āĻ¨āĻ¤ā§āĻ¨ ns-3 āĻŽāĻĄā§‡āĻ˛
āĻāĻ‡ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ•āĻļāĻž āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻĒāĻĻāĻšāĻžāĻ°āĻŖāĻž ns-3 āĻŽāĻĄā§‡āĻ˛. āĻ…āĻ¨ā§‡āĻ• āĻ—āĻŦā§‡āĻˇāĻŖāĻžāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡,
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻ•ā§‡āĻŦāĻ˛ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻŽāĻĄā§‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ–āĻžāĻĒ āĻ–āĻžāĻ‡āĻ¯āĻŧā§‡ āĻ¸āĻ¨ā§āĻ¤ā§āĻˇā§āĻŸ āĻšāĻŦā§‡āĻ¨ āĻ¨āĻž, āĻ¤āĻŦā§‡ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ā§ˇ
āĻāĻ•āĻŸāĻŋ āĻ…āĻ­āĻŋāĻ¨āĻŦ āĻ‰āĻĒāĻžāĻ¯āĻŧā§‡ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡āĻ° āĻŽā§‚āĻ˛āĨ¤ āĻ†āĻŽāĻ°āĻž a āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻŸāĻŋ ErrorModel āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦ
āĻ¸āĻšāĻœ ns-3 āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨ā§āĻĒā§āĻ°ā§‡āĻ°āĻŖāĻžāĻŽā§‚āĻ˛āĻ• āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ˛āĻŋāĻ™ā§āĻ• āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ•ā§‡āĻ‰ āĻāĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻāĻŦāĻ‚ āĻ¯ā§‹āĻ—āĻžāĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻāĻ•āĻŸāĻŋ āĻ¨āĻ•āĻļāĻž āĻāĻŦāĻ‚ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻāĻ—āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¨āĨ¤

āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°ā§āĻ¨:
āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨

āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻ°āĻž āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻĄā§‡āĻ˛ āĻāĻŦāĻ‚ āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¤ā§ˆāĻ°āĻŋāĻ° āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ° āĻ‰āĻĒāĻ° āĻĢā§‹āĻ•āĻžāĻ¸ āĻ•āĻ°āĻŋ āĻāĻŦāĻ‚ āĻ•āĻŋāĻ›ā§
āĻ¨āĻ•āĻļāĻž āĻĒāĻ›āĻ¨ā§āĻĻ āĻœāĻĄāĻŧāĻŋāĻ¤. āĻ¸ā§āĻŦāĻšā§āĻ›āĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻ°āĻž āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻĒāĻŋāĻ›āĻŋāĻ¯āĻŧā§‡ āĻĻāĻŋāĻšā§āĻ›āĻŋ āĻŦāĻ˛āĻŦāĻŋāĻœā§āĻžāĻžāĻ¨
āĻ¨āĻĨāĻŋāĻ­ā§āĻ•ā§āĻ¤ āĻŽāĻĄā§‡āĻ˛ āĻāĻŦāĻ‚ āĻ‰āĻ¤ā§āĻ¸ āĻ•ā§‹āĻĄ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ.

āĻ¨āĻ•āĻļāĻž āĻ…āĻ­āĻŋāĻ—āĻŽāĻ¨
āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻŋ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨ āĻ¤āĻž āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°ā§āĻ¨; āĻāĻŸāĻž āĻ•āĻŋ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤. āĻāĻ‡ āĻœāĻŋāĻ¨āĻŋāĻ¸āĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻšāĻŋāĻ¨ā§āĻ¤āĻž āĻ•āĻ°ā§āĻ¨:

¡ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž: āĻāĻŸāĻž āĻ•āĻŋ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻĨāĻžāĻ•āĻž āĻ‰āĻšāĻŋāĻ¤? āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻŦāĻž āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ•āĻŋ
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻ•āĻžāĻ›ā§‡ āĻ‰āĻ¨ā§āĻŽā§āĻ•ā§āĻ¤?

¡ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ¯ā§‹āĻ—ā§āĻ¯āĻ¤āĻž: āĻ…āĻ¨ā§āĻ¯āĻĻā§‡āĻ° āĻ•āĻ¤āĻŸāĻž āĻ†āĻŽāĻžāĻ° āĻ¨āĻ•āĻļāĻž āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻšāĻ“āĻ¯āĻŧāĻž āĻ‰āĻšāĻŋāĻ¤? āĻ†āĻŽāĻŋ āĻĨā§‡āĻ•ā§‡ āĻ•ā§‹āĻĄ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ?
ns-2 āĻļā§āĻ°ā§ āĻ•āĻ°āĻ¤ā§‡? āĻāĻ•āĻœāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ…āĻ¨ā§āĻ¯ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŽāĻĄā§‡āĻ˛āĻŸāĻŋāĻ•ā§‡ āĻ¸āĻ‚āĻšāĻ¤ āĻ•āĻ°ā§‡
āĻ…āĻ¨ā§āĻ•āĻ°āĻŖ?

¡ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž: āĻ†āĻŽāĻŋ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ†āĻŽāĻžāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻ•ā§‹āĻĄā§‡ āĻŦāĻžāĻ‡āĻ°ā§‡āĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻžāĻ° āĻĒā§āĻ°āĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻŽāĻžāĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ
āĻ¯āĻ¤āĻŸāĻž āĻ¸āĻŽā§āĻ­āĻŦ (āĻāĻŸāĻŋ āĻ†āĻ°āĻ“ āĻŽāĻĄā§āĻ˛āĻžāĻ° āĻ•āĻ°āĻ¤ā§‡)? āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ†āĻŽāĻŋ āĻ•ā§‹āĻ¨ āĻāĻĄāĻŧāĻžāĻ¤ā§‡ āĻšāĻŦā§‡
āĻ†āĻ‡āĻĒāĻŋāĻ­āĻŋ 4 āĻāĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻŋ āĻāĻŸāĻŋ āĻ†āĻ‡āĻĒāĻŋāĻ­āĻŋ 6 āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡? āĻ†āĻŽāĻŋ āĻ•ā§‹āĻ¨ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻāĻĄāĻŧāĻžāĻ¤ā§‡ āĻšāĻŦā§‡
āĻ†āĻĻā§Œ āĻ†āĻ‡āĻĒāĻŋāĻ¤ā§‡?

āĻ¸āĻžāĻĨā§‡ āĻ¯ā§‹āĻ—āĻžāĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻĻā§āĻŦāĻŋāĻ§āĻž āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ¨āĻž ns-3-āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž or ns-āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻžāĻ°āĻ°āĻž āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻļā§āĻ¨ āĻĨāĻžāĻ•āĻ˛ā§‡ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ•āĻ°ā§āĻ¨āĨ¤
āĻŦāĻŋāĻļā§‡āĻˇ āĻ•āĻ°ā§‡, āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻĄā§‡āĻ˛ā§‡āĻ° āĻ¸āĻ°ā§āĻŦāĻœāĻ¨ā§€āĻ¨ API āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻšāĻŋāĻ¨ā§āĻ¤āĻž āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻœāĻŋāĻœā§āĻžāĻžāĻ¸āĻž āĻ•āĻ°āĻž āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ
āĻĒā§āĻ°āĻ¤āĻŋāĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻ—ā§āĻ°āĻšā§€ āĻšāĻ˛ā§‡ āĻāĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•āĻžāĻœ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ…āĻ¨ā§āĻ¯āĻĻā§‡āĻ° āĻœāĻžāĻ¨āĻžāĻ¤ā§‡āĻ“ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°ā§‡
āĻ¸āĻšāĻ¯ā§‹āĻ—ā§€āĻĻā§‡āĻ°

āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ: āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻŽāĻĄā§‡āĻ˛
āĻāĻ•āĻŸāĻŋ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻŽāĻĄā§‡āĻ˛ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ ns-2. āĻāĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ°āĻžāĻˇā§āĻŸā§āĻ°ā§€āĻ¯āĻŧ āĻŦāĻ¸ā§āĻ¤ā§āĻ¤ā§‡ āĻĒā§āĻ°ā§‡āĻ°āĻŖ āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧ āĻ¯āĻž
āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§‡, āĻāĻ•āĻŸāĻŋ āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡, āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸāĻŸāĻŋ āĻĻā§‚āĻˇāĻŋāĻ¤ āĻ•āĻŋāĻ¨āĻžāĨ¤ āĻ•āĻ˛āĻ•āĻžāĻ°ā§€ āĻĒāĻžāĻ°ā§‡
āĻ¤āĻžāĻ°āĻĒāĻ° āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•ā§€ āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ¤āĻž āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¨ (āĻāĻŸāĻŋ āĻĢā§‡āĻ˛ā§‡ āĻĻāĻŋāĻ¨, āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋ)āĨ¤

āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻŽāĻĄā§‡āĻ˛ā§‡āĻ° āĻĒā§āĻ°āĻ§āĻžāĻ¨ API āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨, āĻāĻŦāĻ‚ āĻāĻ° āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻŽāĻžāĻ¨
āĻāĻ‡ āĻĢāĻžāĻ‚āĻļāĻ¨āĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ˛āĻŋāĻ¯āĻŧāĻžāĻ¨ āĻ¯āĻž āĻ•āĻ˛āĻ•āĻžāĻ°ā§€āĻ•ā§‡ āĻŦāĻ˛ā§‡ āĻ¯ā§‡ āĻ•ā§‹āĻ¨ā§‹ āĻĻā§āĻ°ā§āĻ¨ā§€āĻ¤āĻŋ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ•āĻŋāĻ¨āĻžāĨ¤ āĻŦāĻŋāĻƒāĻĻā§āĻ°āĻƒ
āĻ¯ā§‡ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻŽāĻĄā§‡āĻ˛ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡, āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻĄā§‡āĻŸāĻž āĻŦāĻžāĻĢāĻžāĻ°āĻŸāĻŋ āĻĻā§‚āĻˇāĻŋāĻ¤ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻŦāĻž āĻ¨āĻžāĻ“ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤
āĻāĻ‡ āĻĢāĻžāĻ‚āĻļāĻ¨āĻŸāĻŋāĻ•ā§‡ "IsCorrupt()" āĻŦāĻ˛āĻŋāĨ¤

āĻāĻ–āĻ¨ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ā§‡, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ†āĻ›ā§‡:

āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻŽāĻĄā§‡āĻ˛
{
āĻĒā§āĻ°āĻ•āĻžāĻļā§āĻ¯:
/ **
* āĻ¯āĻĻāĻŋ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸāĻŸāĻŋāĻ•ā§‡ āĻ¤ā§āĻ°ā§āĻŸāĻŋāĻ¯ā§āĻ•ā§āĻ¤/āĻĻā§āĻˇā§āĻŸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¤āĻŦā§‡ āĻ¸āĻ¤ā§āĻ¯ āĻĢā§‡āĻ°āĻ¤ āĻĻā§‡āĻ¯āĻŧ
* \param pkt āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻ¯āĻžāĻ¤ā§‡ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻŽāĻĄā§‡āĻ˛ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ
*/
bool IsCorrupt (Ptr pkt);
};

āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ āĻ¯ā§‡ āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ•āĻ¨āĻ¸ā§āĻŸ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻĒāĻžāĻ¸ āĻ•āĻ°āĻŋ āĻ¨āĻž, āĻ¯āĻžāĻ° āĻĢāĻ˛ā§‡ āĻĢāĻžāĻ‚āĻļāĻ¨āĻŸāĻŋāĻ•ā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧ
āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻ¯āĻĻāĻŋ IsCorrupt() true āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻŽāĻĄā§‡āĻ˛ āĻ†āĻ¸āĻ˛ā§‡ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻŦā§‡ āĻ¨āĻž;
āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻĄā§‡āĻŸāĻž āĻŦāĻžāĻĢāĻžāĻ° āĻĻā§‚āĻˇāĻŋāĻ¤ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻ¨āĻĨāĻŋāĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤

āĻ†āĻŽāĻ°āĻž āĻāĻ° āĻŦāĻŋāĻļā§‡āĻˇ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖāĻ“ āĻšāĻžāĻ‡, āĻ¯ā§‡āĻŽāĻ¨ āĻ‡āĻ¨ ns-2, āĻ¤āĻžāĻ‡ āĻāĻŸāĻž āĻ¨āĻž āĻ¯āĻĻāĻŋāĻ“
āĻĒāĻ˛āĻŋāĻŽāĻžāĻ°āĻĢāĻŋāĻœāĻŽā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻĒāĻ›āĻ¨ā§āĻĻ, āĻ†āĻŽāĻ°āĻž āĻ§āĻ°ā§‡ āĻ¨āĻŋāĻ‡ āĻ¯ā§‡ āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻŦā§‡āĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¸āĻžāĻŦāĻ•ā§āĻ˛āĻžāĻ¸ āĻ•āĻ°āĻŦ
āĻŦāĻŋāĻļā§‡āĻˇāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ ErrorModel, āĻ¯ā§‡āĻŽāĻ¨ RateErrorModel, ListErrorModel, āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋ, āĻ¯ā§‡āĻŽāĻ¨
āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ ns-2.

āĻ†āĻĒāĻ¨āĻŋ āĻāĻ‡ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§‡ āĻ­āĻžāĻŦāĻ›ā§‡āĻ¨, "āĻ•ā§‡āĻ¨ IsCorrupt() āĻāĻ•āĻŸāĻŋ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ¨āĻž?"āĨ¤ āĻāĻŸāĻžāĻ‡
āĻāĻ• āĻĒāĻĻā§āĻ§āĻ¤āĻŋ; āĻ…āĻ¨ā§āĻ¯āĻŸāĻŋ āĻšāĻ˛ āĻĒāĻžāĻŦāĻ˛āĻŋāĻ• āĻ¨āĻ¨-āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻĢāĻžāĻ‚āĻļāĻ¨āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻĒāĻ°ā§‹āĻ•ā§āĻˇ āĻ•āĻ°āĻž
āĻĒā§āĻ°āĻžāĻ‡āĻ­ā§‡āĻŸ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻĢāĻžāĻ‚āĻļāĻ¨ (āĻāĻŸāĻŋ C++ āĻ āĻ¨āĻ¨ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻ‡āĻĄāĻŋāĻ¯āĻŧāĻŽ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ āĻāĻŦāĻ‚
āĻ—ā§ƒāĻšā§€āĻ¤ ns-3 āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻŽāĻĄā§‡āĻ˛ āĻ•ā§āĻ˛āĻžāĻ¸)āĨ¤

āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€, āĻāĻ‡ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡āĻ° āĻ•āĻŋ āĻ†āĻ‡āĻĒāĻŋ āĻŦāĻž āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ•ā§‹āĻ¨ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻĨāĻžāĻ•āĻž āĻ‰āĻšāĻŋāĻ¤? āĻ†āĻŽāĻ°āĻž āĻšāĻžāĻ‡ āĻ¨āĻž
āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ¨ā§‡āĻŸ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ (āĻ¤ā§āĻ°ā§āĻŸāĻŋāĻ° āĻŽāĻĄā§‡āĻ˛āĻŸāĻŋ āĻĒā§āĻ°āĻ¯ā§‹āĻœā§āĻ¯ āĻšāĻ“āĻ¯āĻŧāĻž āĻ‰āĻšāĻŋāĻ¤
āĻ…-āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ¨ā§‡āĻŸ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛āĻ“), āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻ°āĻž āĻĒāĻ°ā§‡ āĻāĻŸāĻŋ āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦāĨ¤

āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻšāĻ˛ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻŦāĻ¸ā§āĻ¤ā§ āĻāĻ‡ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻŽāĻĄā§‡āĻ˛ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻŦā§‡āĨ¤ āĻ†āĻŽāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻŖ āĻ•āĻ˛ā§āĻĒāĻ¨āĻž
āĻ•āĻŋāĻ›ā§ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ NetDevice āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻ¸ā§‡āĻŸāĻžāĻ°, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒāĨ¤:

/ **
* PointToPointNetDevice-āĻ āĻāĻ•āĻŸāĻŋ āĻ°āĻŋāĻ¸āĻŋāĻ­ āĻāĻ°āĻ°āĻŽāĻĄā§‡āĻ˛ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§āĻ¨āĨ¤
*
* PointToPointNetDevice āĻāĻšā§āĻ›āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ ErrorModel āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
* āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻ°āĻŋāĻ¸āĻŋāĻ­ āĻšā§‡āĻ‡āĻ¨āĨ¤
*
* @ErrorModel āĻĻā§‡āĻ–ā§āĻ¨
* @param em Ptr āĻ ErrorModel.
*/
āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° PointToPointNetDevice::SetReceiveErrorModel(Ptr) em);

āĻ†āĻŦāĻžāĻ°, āĻāĻŸāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ•āĻŽāĻžāĻ¤ā§āĻ° āĻĒāĻ›āĻ¨ā§āĻĻ āĻ¨āĻ¯āĻŧ (āĻ¤ā§āĻ°ā§āĻŸāĻŋāĻ° āĻŽāĻĄā§‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻšā§āĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻŖā§‡ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ), āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŸāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ¸āĻ¨ā§āĻ¤ā§āĻˇā§āĻŸ āĻ•āĻ°ā§‡, āĻ¯āĻž āĻāĻ•āĻœāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ•ā§‡ āĻŦāĻžāĻ§ā§āĻ¯ āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧ
āĻ…āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ āĻ¸āĻĢāĻ˛ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻŸā§āĻ°āĻžāĻ¨ā§āĻ¸āĻŽāĻŋāĻļāĻ¨ā§‡ āĻ¤ā§āĻ°ā§āĻŸāĻŋ, NetDevice āĻ¸ā§āĻ¤āĻ°ā§‡āĨ¤

āĻ•āĻŋāĻ›ā§ āĻšāĻŋāĻ¨ā§āĻ¤āĻž āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡ āĻāĻŦāĻ‚ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ¤āĻžāĻ•āĻžāĻ¨ ns-2 āĻ•ā§‹āĻĄ, āĻāĻ–āĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦā§‡āĻ¸ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¨āĻŽā§āĻ¨āĻž API āĻ†āĻ›ā§‡
āĻ•ā§āĻ˛āĻžāĻ¸ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻĨāĻŽ āĻ¸āĻžāĻŦāĻ•ā§āĻ˛āĻžāĻ¸ āĻ¯āĻž āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§‹āĻšāĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§‹āĻ¸ā§āĻŸ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡:

āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻŽāĻĄā§‡āĻ˛
{
āĻĒā§āĻ°āĻ•āĻžāĻļā§āĻ¯:
ErrorModel ();
āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ ~ErrorModel ();
bool IsCorrupt (Ptr pkt);
void āĻ°āĻŋāĻ¸ā§‡āĻŸ (āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°);
void āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ (āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°);
void āĻ¨āĻŋāĻˇā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ (āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°);
bool IsEnabled (void) const;
āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤:
āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŦā§āĻ˛ DoCorrupt (Ptr pkt) = 0;
āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ void DoReset (void) = 0;
};

enum ErrorUnit
{
EU_BIT,
EU_BYTE,
EU_PKT
};

// āĻ•ā§‹āĻ¨ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸāĻ—ā§āĻ˛āĻŋ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻ¤ā§āĻ°ā§āĻŸāĻŋāĻ¯ā§āĻ•ā§āĻ¤ āĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§āĻ¨
// āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛ āĻŦāĻŋāĻ¤āĻ°āĻŖ, āĻāĻ•āĻŸāĻŋ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻšāĻžāĻ°, āĻāĻŦāĻ‚ āĻšāĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‡āĻ‰āĻ¨āĻŋāĻŸāĨ¤
āĻ•ā§āĻ˛āĻžāĻ¸ āĻ°ā§‡āĻŸ āĻāĻ°āĻ°āĻŽāĻĄā§‡āĻ˛: āĻ¸āĻ°ā§āĻŦāĻœāĻ¨ā§€āĻ¨ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻŽāĻĄā§‡āĻ˛
{
āĻĒā§āĻ°āĻ•āĻžāĻļā§āĻ¯:
RateErrorModel ();
āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ ~ RateErrorModel ();
enum ErrorUnit GetUnit (void) const;
void SetUnit (enum ErrorUnit error_unit);
āĻĄāĻŦāĻ˛ GetRate (āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°) const;
void SetRate (āĻĄāĻŦāĻ˛ āĻ°ā§‡āĻŸ);
void SetRandomVariable (const RandomVariable &ranvar);
āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤:
āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŦā§āĻ˛ DoCorrupt (Ptr pkt);
āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° DoReset (āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°);
};

āĻ­āĻžāĻ°āĻž
āĻ§āĻ°āĻž āĻ¯āĻžāĻ• āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻļā§āĻ°ā§ āĻ•āĻ°āĻ¤ā§‡ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤; āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻŽā§‹āĻŸāĻžāĻŽā§āĻŸāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻ›āĻŦāĻŋ āĻ†āĻ›ā§‡
āĻ†āĻĒāĻ¨āĻŋ āĻ•āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨, āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻŋ āĻ•āĻŋāĻ›ā§ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§‹āĻšāĻ¨āĻž āĻŦāĻž āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻšā§‡āĻ¯āĻŧā§‡ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻ•ā§āĻ°āĻŽāĻ¤āĻžāĻ˛āĻŋāĻ•āĻž. āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ§āĻžāĻĒā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻ¯āĻŧ (āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨) āĻšāĻ˛ āĻ­āĻžāĻ°āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻāĻŦāĻ‚
āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻĒāĻ°āĻŋāĻĒāĻ•ā§āĻ• āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻĨā§‡ āĻŦāĻŋāĻļāĻĻāĻŸāĻŋ āĻĒā§‚āĻ°āĻŖ āĻ•āĻ°ā§āĻ¨āĨ¤

āĻāĻ‡ āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ­āĻžāĻ°āĻž āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ…āĻ¨ā§‡āĻ• āĻĒāĻĻāĻ•ā§āĻˇā§‡āĻĒā§‡āĻ° āĻŽāĻ§ā§āĻ¯ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻšā§‡āĻāĻŸā§‡, āĻŦāĻž
āĻ†āĻĒāĻ¨āĻžāĻ° āĻŽāĻĄā§‡āĻ˛ āĻļā§‡āĻˇ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ•āĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻŦā§‡ āĻ¤āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ…-āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°ā§€ āĻ•āĻ™ā§āĻ•āĻžāĻ˛āĨ¤ āĻāĻŸāĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ­āĻžāĻ˛
āĻļā§‡āĻˇ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻāĻ‡ āĻŦāĻŋāĻļāĻĻāĻ—ā§āĻ˛āĻŋ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻ…āĻ­ā§āĻ¯āĻžāĻ¸ āĻ•āĻ°ā§āĻ¨, āĻŦāĻ°āĻ‚ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ˛āĻžāĻŽā§āĻŦ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯
āĻ†āĻĒāĻ¨āĻžāĻ° āĻŽāĻĄā§‡āĻ˛ā§‡āĻ° āĻ•āĻ™ā§āĻ•āĻžāĻ˛ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻĒā§āĻ°āĻĨāĻŽ āĻĻāĻŋāĻ•ā§‡ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ API āĻāĻŦāĻ‚ āĻĒāĻ°ā§‡ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨
āĻ‡āĻ¨ā§āĻŸāĻŋāĻ—ā§āĻ°ā§‡āĻļāĻ¨ āĻ āĻŋāĻ• āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻŽāĻ¨ā§‡ āĻšāĻ¯āĻŧ.

āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻŽāĻĄā§‡āĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨ā§€āĻšā§‡āĻ° āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ¯āĻŧ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡āĻŦā§‡āĻ¨
āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻ°āĻ° āĻŽāĻĄā§‡āĻ˛āĻŸāĻŋ verbatim āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ āĻ•āĻ°ā§‡āĻ¨, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ¯ā§‡ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĻ¨ āĻ¸ā§‡āĻŸāĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ˜āĻ°ā§āĻˇ āĻšāĻŦā§‡
āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻŽāĻĄā§‡āĻ˛āĨ¤ ErrorModel āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻ¤āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ°ā§‚āĻĒāĻ°ā§‡āĻ–āĻž āĻ¨āĻŋāĻšā§‡ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ˛
āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻŽāĻĄā§‡āĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŽāĻžāĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ¨āĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§‹āĻšāĻ¨āĻž āĻĻā§āĻ¯ ns-3 āĻ•ā§‹āĻĄāĻŋāĻ‚ āĻļā§ˆāĻ˛ā§€ āĻĻāĻ˛āĻŋāĻ˛
āĻāĻ‡ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻŦāĻŋāĻ°āĻ¤āĻŋ āĻĻāĻŋāĻ¤ā§‡ āĻāĻŦāĻ‚ āĻĒāĻĄāĻŧāĻ¤ā§‡ āĻšāĻžāĻ‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ ns-3 āĻ•ā§‹āĻĄāĻŋāĻ‚ āĻļā§ˆāĻ˛ā§€ āĻ¨āĻĨāĻŋ, āĻŦāĻŋāĻļā§‡āĻˇ āĻ•āĻ°ā§‡
āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•ā§‹āĻĄāĻŸāĻŋ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡ āĻĢā§‡āĻ°āĻ¤ āĻĻā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻ•āĻĨāĻž āĻ­āĻžāĻŦāĻ›ā§‡āĻ¨āĨ¤ āĻ•ā§‹āĻĄāĻŋāĻ‚ āĻļā§ˆāĻ˛ā§€
āĻ¨āĻĨāĻŋāĻŸāĻŋ āĻŽā§‚āĻ˛ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻĒā§ƒāĻˇā§āĻ āĻž āĻĨā§‡āĻ•ā§‡ āĻ˛āĻŋāĻ™ā§āĻ• āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡: ns-3 āĻ†āĻ‡āĻ¨āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻļā§ˆāĻ˛ā§€.

āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¨ āĻ•ā§‹āĻĨāĻžāĻ¯āĻŧ in āĻĻā§āĻ¯ āĻ‰ā§ŽāĻ¸ āĻ—āĻžāĻ› āĻĻā§āĻ¯ āĻŽāĻĄā§‡āĻ˛ āĻ‰āĻšāĻŋāĻ¤ āĻŦāĻžāĻ¸ āĻ•āĻ°āĻž
āĻ¸āĻŦ ns-3 āĻŽāĻĄā§‡āĻ˛ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ•ā§‹āĻĄ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ†āĻ›ā§‡ src /. āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻž āĻšāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡
āĻ¸āĻžāĻŦāĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°ā§€āĻ¤ā§‡ āĻāĻŸāĻŋ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻāĻŸāĻŋ āĻ¯āĻĻāĻŋ āĻ•ā§‹āĻ¨ āĻ§āĻ°āĻŖā§‡āĻ° āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻĄā§‡āĻ˛ āĻ•ā§‹āĻĄ āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻāĻŸāĻŋ āĻ°āĻžāĻ–āĻž āĻŦā§‹āĻ§āĻ—āĻŽā§āĻ¯ āĻšāĻ¯āĻŧ
āĻŽāĻ§ā§āĻ¯ā§‡ src / āĻ•ā§‹āĻĨāĻžāĻ“ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ, āĻŦāĻŋāĻļā§‡āĻˇ āĻ•āĻ°ā§‡ āĻŦāĻŋāĻ˛ā§āĻĄā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•ā§€āĻ­ā§‚āĻ¤ āĻ•āĻ°āĻžāĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻ° āĻœāĻ¨ā§āĻ¯
āĻĒāĻĻā§āĻ§āĻ¤āĻŋ.

āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻŽāĻĄā§‡āĻ˛ā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻāĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻļā§āĻ°ā§‡āĻŖā§€āĻ° āĻ¸āĻžāĻĨā§‡ āĻ–ā§āĻŦ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤, āĻ¤āĻžāĻ‡ āĻāĻŸāĻŋ āĻ…āĻ°ā§āĻĨāĻĒā§‚āĻ°ā§āĻŖ
āĻāĻ‡ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻ¤ā§‡ src/āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•/ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ ns-3 āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤

āĻ“āĻ¯āĻŧāĻžāĻĢ āĻāĻŦāĻ‚ wscript
ns-3 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ Waf āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖāĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻ‚āĻšāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨ ns-3 Waf āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡
āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖāĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ‡ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻ‰ā§ŽāĻ¸ āĻĢāĻžāĻ‡āĻ˛ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨. āĻāĻ‡
āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĢāĻžāĻ‡āĻ˛ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ wscript āĻĢāĻžāĻ‡āĻ˛ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤

āĻšāĻ˛ā§āĻ¨ āĻļā§āĻ°ā§ āĻ•āĻ°āĻž āĻ¯āĻžāĻ• āĻ–āĻžāĻ˛āĻŋ āĻĢāĻžāĻ‡āĻ˛ error-model.h āĻāĻŦāĻ‚ error-model.cc āĻĻāĻŋāĻ¯āĻŧā§‡, āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨
src/network/wscript. āĻāĻŸāĻž āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ‡ āĻŦāĻžāĻ•āĻŋ .cc āĻĢāĻžāĻ‡āĻ˛ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻŦā§āĻ¯āĻžāĻĒāĻžāĻ°
āĻ¸ā§‹āĻ°ā§āĻ¸ āĻĢāĻžāĻ‡āĻ˛, āĻāĻŦāĻ‚ .h āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻšā§‡āĻĄāĻžāĻ° āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ¯āĻŧāĨ¤

āĻāĻ–āĻ¨, āĻļā§€āĻ°ā§āĻˇ āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻĒāĻĒ āĻ†āĻĒ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ "./test.py" āĻŸāĻžāĻ‡āĻĒ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ¤ā§‹āĻŽāĻžāĻ° āĻ­āĻžāĻ™ā§āĻ—āĻž āĻ‰āĻšāĻŋāĻ¤ āĻšāĻ¯āĻŧāĻ¨āĻŋ
āĻāĻ‡ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ•āĻŋāĻ›ā§āĨ¤

āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻ—āĻžāĻ°ā§āĻĄ
āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€, āĻāĻ° āĻ•āĻŋāĻ›ā§ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻ¯āĻžāĻ• āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻ°āĻ•ā§āĻˇāĻŋāĻŦāĻžāĻšāĻŋāĻ¨ā§€ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻšā§‡āĻĄāĻžāĻ° āĻĢāĻžāĻ‡āĻ˛ā§‡āĨ¤:

#ifndef ERROR_MODEL_H
#ERROR_MODEL_H āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°ā§āĻ¨
...
#endif

āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ ns3
ns-3 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ ns-3 āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ¨ā§‡āĻŽāĻ¸ā§āĻĒā§‡āĻ¸ āĻĨā§‡āĻ•ā§‡ āĻāĻ° āĻšāĻŋāĻšā§āĻ¨āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻŦāĻŋāĻšā§āĻ›āĻŋāĻ¨ā§āĻ¨ āĻ•āĻ°āĻ¤ā§‡āĨ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤, āĻ•
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ˛āĻžāĻ—āĻžāĻŦā§‡ ns-3 cc āĻāĻŦāĻ‚ h āĻ‰āĻ­āĻ¯āĻŧ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ‡ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ āĻŦā§āĻ˛āĻ•āĨ¤:

āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ ns3 {
...
}

āĻāĻ‡ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§‡, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻžāĻ›ā§‡ āĻ•āĻŋāĻ›ā§ āĻ•āĻ™ā§āĻ•āĻžāĻ˛ āĻĢāĻžāĻ‡āĻ˛ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻžāĻ¤ā§‡ āĻ†āĻŽāĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¨āĻ¤ā§āĻ¨ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻž āĻļā§āĻ°ā§ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤
āĻšā§‡āĻĄāĻžāĻ° āĻĢāĻžāĻ‡āĻ˛ āĻāĻ‡ āĻŽāĻ¤ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ:

#ifndef ERROR_MODEL_H
#ERROR_MODEL_H āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°ā§āĻ¨

āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ ns3 {

} // āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ ns3
#endif

āĻ¯āĻ–āĻ¨ error-model.cc āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻšāĻœāĻ­āĻžāĻŦā§‡ āĻāĻ‡ āĻŽāĻ¤ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ:

# "error-model.h" āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§āĻ¨

āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ ns3 {

} // āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ ns3

āĻāĻ‡ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ•āĻžāĻ°āĻŖ āĻ¤āĻžāĻĻā§‡āĻ° āĻ†āĻ¸āĻ˛ā§‡ āĻ•ā§‹āĻ¨ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻ¨ā§‡āĻ‡āĨ¤ āĻ†āĻŽāĻ°āĻž āĻāĻ–āĻ¨ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤
āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻļā§āĻ°ā§ āĻ•āĻ°ā§āĻ¨āĨ¤

āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨
āĻāĻ‡ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§‡, āĻ†āĻŽāĻ°āĻž āĻāĻ–āĻ¨āĻ“ āĻ•āĻŋāĻ›ā§ āĻ­āĻžāĻ°āĻž āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻ›āĻŋ, āĻ¤āĻŦā§‡ āĻ†āĻŽāĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ
āĻ•ā§āĻ˛āĻžāĻ¸, āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻ¸āĻš āĻĒāĻ°ā§‡ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤

āĻ‰āĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ°ā§€ āĻĨā§‡āĻ•ā§‡ āĻĻā§āĻ¯ āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ āĻ•ā§āĻ˛āĻžāĻ¸?
āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻ¨āĻ•āĻļāĻž āĻĒāĻĻāĻ•ā§āĻˇā§‡āĻĒ; āĻ•ā§āĻ˛āĻžāĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ•āĻŋāĻ¨āĻž āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻŦā§‡āĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡
āĻ•ā§āĻ˛āĻžāĻ¸āĨ¤

āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧā§‡ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ ns-3 āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ-āĻŽāĻĄā§‡āĻ˛, āĻ•ā§āĻ˛āĻžāĻ¸ āĻĨā§‡āĻ•ā§‡ āĻ‰āĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ°āĻ¸ā§‚āĻ¤ā§āĻ°ā§‡ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ•ā§āĻ˛āĻžāĻ¸
āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ āĻŦāĻŋāĻļā§‡āĻˇ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻĒāĻžāĻ¨:

¡ āĻĻā§āĻ¯ ns-3 āĻŸāĻžāĻ‡āĻĒ āĻāĻŦāĻ‚ āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ (āĻāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻĻā§‡āĻ–ā§āĻ¨)

āĻāĻ•āĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§ āĻāĻ•āĻ¤ā§āĻ°ā§€āĻ•āĻ°āĻŖ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ

āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŽāĻžāĻ°ā§āĻŸ-āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ•āĻžāĻ‰āĻ¨ā§āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ (āĻ•ā§āĻ˛āĻžāĻ¸ Ptr)

āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¯ā§‡ āĻ•ā§āĻ˛āĻžāĻ¸ āĻĨā§‡āĻ•ā§‡ āĻ‰āĻĻā§āĻ­ā§‚āĻ¤ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸāĻŦā§‡āĻ¸} āĻ‰āĻĒāĻ°ā§‡āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻĻā§āĻŸāĻŋ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻĒāĻžāĻ¨, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¨āĻž
āĻ¸ā§āĻŽāĻžāĻ°ā§āĻŸ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻĒāĻžāĻ¨āĨ¤ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¯ā§‡ āĻ•ā§āĻ˛āĻžāĻ¸ āĻĨā§‡āĻ•ā§‡ āĻ‰āĻĻā§āĻ­ā§‚āĻ¤ RefCountBase āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¸ā§āĻŽāĻžāĻ°ā§āĻŸ-āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻĒāĻžāĻ¨
āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ—āĻŖāĻ¨āĻž āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĨ¤

āĻ…āĻ¨ā§āĻļā§€āĻ˛āĻ¨ā§‡, āĻ•ā§āĻ˛āĻžāĻ¸ āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ¤āĻŋāĻ¨āĻŸāĻŋāĻ° āĻŦā§ˆāĻ•āĻ˛ā§āĻĒāĻŋāĻ• ns-3 āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€ āĻ•āĻ°āĻŦā§‡
āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ¸āĻŽā§āĻŽā§āĻ–ā§€āĻ¨.

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ†āĻŽāĻ°āĻž āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡, āĻāĻŦāĻ‚ āĻ†āĻŽāĻ°āĻž āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻž āĻšāĻŦā§‡
āĻœā§āĻĄāĻŧā§‡ āĻāĻ‡ āĻŦāĻ¸ā§āĻ¤ā§āĻ° ns-3 āĻĒāĻžāĻŦāĻ˛āĻŋāĻ• API, āĻ¤āĻžāĻ‡ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤āĨ¤

āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻ•ā§āĻ˛āĻžāĻ¸
āĻāĻ—āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻšāĻ˛ āĻŦā§‡āĻ¯āĻŧāĻžāĻ° āĻ¨ā§āĻ¯ā§‚āĻ¨āĻ¤āĻŽ āĻĢāĻžāĻ‚āĻļāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻšāĻŦā§‡ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻĻā§‡āĻ–ā§āĻ¨
āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ†āĻŽāĻ°āĻž āĻ•ā§āĻ˛āĻžāĻ¸ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§€ āĻ•ā§€ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¤āĻž āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻ¯āĻžāĻ•āĨ¤

#ifndef ERROR_MODEL_H
#ERROR_MODEL_H āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°ā§āĻ¨

# "ns3/object.h" āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§āĻ¨

āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ ns3 {

āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻŽāĻĄā§‡āĻ˛: āĻĒāĻžāĻŦāĻ˛āĻŋāĻ• āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ
{
āĻĒā§āĻ°āĻ•āĻžāĻļā§āĻ¯:
āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻŸāĻžāĻ‡āĻĒāĻ†āĻ‡āĻĄāĻŋ GetTypeId (āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°);

ErrorModel ();
āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ ~ErrorModel ();
};

āĻ•ā§āĻ˛āĻžāĻ¸ āĻ°ā§‡āĻŸ āĻāĻ°āĻ°āĻŽāĻĄā§‡āĻ˛: āĻ¸āĻ°ā§āĻŦāĻœāĻ¨ā§€āĻ¨ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻŽāĻĄā§‡āĻ˛
{
āĻĒā§āĻ°āĻ•āĻžāĻļā§āĻ¯:
āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻŸāĻžāĻ‡āĻĒāĻ†āĻ‡āĻĄāĻŋ GetTypeId (āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°);

RateErrorModel ();
āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ ~ RateErrorModel ();
};
#endif

āĻāĻ–āĻžāĻ¨ā§‡ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻŦāĻŋāĻˇāĻ¯āĻŧ āĻ–ā§‡āĻ¯āĻŧāĻžāĻ˛ āĻ°āĻžāĻ–āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ†āĻŽāĻ°āĻž āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻŦāĻ¸ā§āĻ¤ā§. āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸āĻŽā§āĻŽā§‡āĻ˛āĻ¨ ns-3 āĻāĻŸāĻž āĻ¯āĻĻāĻŋ āĻšāĻ¯āĻŧ
āĻšā§‡āĻĄāĻžāĻ° āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻāĻ•āĻ‡ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ¸āĻš-āĻ…āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤, āĻāĻŸāĻŋ āĻ•ā§‹āĻ¨ā§‹ āĻĒāĻžāĻĨ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ‰āĻĒāĻ¸āĻ°ā§āĻ— āĻ…āĻ¤āĻāĻŦ, āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻ°āĻž ErrorModel āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻ›āĻŋ src/core/model āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ, āĻ†āĻŽāĻ°āĻž
āĻļā§āĻ§ā§ āĻŦāĻ˛āĻ¤ā§‡ āĻĒāĻžāĻ°āĻ¤āĻžāĻŽ"# āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ "object.h"āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻŽāĻ°āĻž āĻ†āĻ›āĻŋ src/āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•/āĻŽāĻĄā§‡āĻ˛, āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻ°āĻž āĻ…āĻŦāĻļā§āĻ¯āĻ‡
āĻāĻŸāĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§āĻ¨ "# āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ "ns3/object.h"". āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ āĻ¯ā§‡ āĻāĻŸāĻŋ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§‡āĻ° āĻŦāĻžāĻ‡āĻ°ā§‡ āĻ¯āĻžāĻ¯āĻŧā§ˇ
āĻ˜ā§‹āĻˇāĻŖāĻž

āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧāĻ¤, āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻļā§āĻ°ā§‡āĻŖā§€āĻ•ā§‡ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻĒāĻžāĻŦāĻ˛āĻŋāĻ• āĻŽā§‡āĻŽā§āĻŦāĻžāĻ° āĻĢāĻžāĻ‚āĻļāĻ¨ āĻŦāĻ˛āĻž āĻšāĻŦā§‡ GetTypeId (āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°).

āĻ¤ā§ƒāĻ¤ā§€āĻ¯āĻŧāĻ¤, āĻ•āĻ¨āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•ā§āĻŸāĻ° āĻāĻŦāĻ‚ āĻĄā§‡āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•ā§āĻŸāĻ°āĻ•ā§‡ āĻ‡āĻŽāĻĒā§āĻ˛āĻŋāĻŽā§‡āĻ¨ā§āĻŸ āĻ•āĻ°āĻž āĻ­āĻžāĻ˛ā§‹ āĻ§āĻžāĻ°āĻŖāĻž
āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ° āĻ¤āĻžāĻĻā§‡āĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ§ā§āĻŦāĻ‚āĻ¸āĻ•āĻžāĻ°ā§€āĻ•ā§‡ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻ•āĻ°ā§‡āĨ¤ C++ āĻ, āĻ¸ā§‡āĻ‡ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋāĻŸāĻŋāĻ“ āĻ¨ā§‹āĻŸ āĻ•āĻ°ā§āĻ¨
āĻ…ā§āĻ¯āĻžāĻ¸āĻžāĻ‡āĻ¨āĻŽā§‡āĻ¨ā§āĻŸ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° āĻāĻŦāĻ‚ āĻ•āĻĒāĻŋ āĻ•āĻ¨āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•ā§āĻŸāĻ° āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻšāĻ¯āĻŧ āĻ¯āĻĻāĻŋ āĻ¤āĻžāĻ°āĻž āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ¨āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻ‡
āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ¨āĻž āĻšāĻžāĻ¨ āĻ¤āĻŦā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤ āĻ¸āĻĻāĻ¸ā§āĻ¯ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤ āĻāĻ‡ āĻĻāĻŋāĻ•
C++ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¸ā§āĻ•āĻŸ āĻŽā§‡āĻ¯āĻŧāĻžāĻ°ā§āĻ¸ā§‡āĻ° āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°ā§€ C++ āĻŦāĻ‡āĻ¤ā§‡āĨ¤ āĻ†āĻ‡āĻŸā§‡āĻŽ 45āĨ¤

āĻ†āĻ¸ā§āĻ¨ āĻāĻ–āĻ¨ .cc āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ•āĻŋāĻ›ā§ āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ āĻ•āĻ™ā§āĻ•āĻžāĻ˛ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ•ā§‹āĻĄ āĻĻā§‡āĻ–āĻŋāĨ¤:

# "error-model.h" āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§āĻ¨

āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ ns3 {

NS_OBJECT_ENSURE_REGISTERED (ErrorModel);

TypeId ErrorModel::GetTypeId (āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°)
{
āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• TypeId tid = TypeId ("ns3::ErrorModel")
.SetParent ()
;
āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ tid;
}

ErrorModel ::ErrorModel ()
{
}

ErrorModel ::~ErrorModel ()
{
}

NS_OBJECT_ENSURE_REGISTERED (RateErrorModel);

TypeId RateErrorModel::GetTypeId (āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°)
{
āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• TypeId tid = TypeId ("ns3::RateErrorModel")
.SetParent ()
.AddConstructor ()
;
āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ tid;
}

RateErrorModel::RateErrorModel ()
{
}

RateErrorModel::~RateErrorModel ()
{
}

āĻ•āĻŋ GetTypeId (āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°) āĻĢāĻžāĻ‚āĻļāĻ¨? āĻāĻ‡ āĻĢāĻžāĻ‚āĻļāĻ¨āĻŸāĻŋ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻ•āĻ°ā§‡āĨ¤ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨
TypeId āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻ…āĻ¨āĻ¨ā§āĻ¯ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚āĨ¤ āĻāĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻļā§āĻ°ā§‡āĻŖāĻŋāĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°ā§‡
āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ (āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¸ā§‡āĻŸ āĻĒā§āĻ¯āĻžāĻ°ā§‡āĻ¨ā§āĻŸ) āĻāĻŸāĻŋ āĻ˜ā§‹āĻˇāĻŖāĻž āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻŦāĻ¸ā§āĻ¤ā§ āĻ¤ā§ˆāĻ°āĻŋāĻ° āĻ•āĻžāĻ āĻžāĻŽā§‹ (āĻ…ā§āĻ¯āĻžāĻĄāĻ•āĻ¨āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•ā§āĻŸāĻ°).

āĻŽā§āĻ¯āĻžāĻ•ā§āĻ°ā§‹ NS_OBJECT_ENSURE_REGISTERED (āĻļā§āĻ°ā§‡āĻŖāĻŋāĻ° āĻ¨āĻžāĻŽ) āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯āĻ“ āĻāĻ•āĻŦāĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¯āĻŧ
āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ GetTypeId āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻĒā§āĻ°āĻ•ā§ƒāĻ¤ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ āĻ•āĻ°ā§‡
āĻĒāĻĻā§āĻ§āĻ¤āĻŋ. āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ-āĻŽāĻĄā§‡āĻ˛ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧā§‡ āĻāĻŸāĻŋ āĻ†āĻ°āĻ“ āĻŦāĻŋāĻļāĻĻā§‡ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻ¸ā§āĻĻā§āĻ§ āĻŦāĻšāĻŋāĻ°āĻžāĻ—āĻ¤ āĻ¨āĻĨāĻŋ āĻĒāĻ¤ā§āĻ°
āĻ˛āĻ—āĻŋāĻ‚ āĻ¸āĻšāĻžāĻ¯āĻŧāĻ¤āĻž
āĻāĻ–āĻžāĻ¨ā§‡, āĻ˛ā§‡āĻ–āĻž a āĻŦāĻŋāĻŸ āĻ¸āĻŽā§āĻŦāĻ¨ā§āĻ§ā§‡ āĻ¯ā§‹āĻ— |ns3| āĻ˛āĻ—āĻŋāĻ‚ āĻŽā§āĻ¯āĻžāĻ•ā§āĻ°ā§‹ āĻŦāĻŋāĻƒāĻĻā§āĻ°āĻƒ āĻ¯ā§‡ LOG_COMPONENT_DEFINE is
āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻŦāĻžāĻšāĻŋāĻ°ā§‡ āĻĻā§āĻ¯ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ ns3

āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖāĻ•āĻžāĻ°ā§€, āĻ–āĻžāĻ˛āĻŋ āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ…āĻ¨ā§āĻ•ā§ƒāĻ¤āĻŋ
āĻšāĻžāĻŦāĻŋ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ (āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŽā§‚āĻ˛ā§āĻ¯āĻŦā§‹āĻ§, āĻ—ā§āĻŖāĻžāĻŦāĻ˛ā§€)
āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻžāĻ°ā§āĻ¯āĻ•ā§āĻ°āĻŽ 1
āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•
āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋ a āĻ¨āĻŽā§āĻ¨āĻž āĻ˛āĻŋāĻĒāĻŋ
āĻāĻ‡ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§‡, āĻ•ā§‡āĻ‰ āĻ‰āĻĒāĻ°ā§‡ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻŽā§ŒāĻ˛āĻŋāĻ• āĻ­āĻžāĻ°āĻž āĻ¨āĻŋāĻ¤ā§‡ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ‡ āĻ§āĻžāĻĒāĻŸāĻŋ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻ•āĻ°āĻž āĻāĻ–āĻ¨ āĻĒā§āĻ˛āĻžāĻŽā§āĻŦāĻŋāĻ‚ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻ•āĻŸāĻŋ āĻ¸āĻšāĻœ āĻŽāĻĄā§‡āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ
āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻŦāĻ‚ āĻ•ā§‹āĻ¨ā§‹ āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻŦāĻž API āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻžāĻ“ āĻĒā§āĻ°āĻ•āĻžāĻļ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ¤ā§ˆāĻ°āĻŋ āĻāĻŸāĻŋ āĻšāĻ¯āĻŧā§‡ āĻ—ā§‡āĻ˛ā§‡, āĻ†āĻŽāĻ°āĻž āĻāĻ° āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻ¤ā§ˆāĻ°āĻŋāĻ¤ā§‡ āĻĢāĻŋāĻ°ā§‡ āĻ†āĻ¸āĻŦ
ErrorModels āĻ¨āĻŋāĻœā§‡āĻ°āĻžāĻ‡āĨ¤

āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāĻ¨ āĻŽā§ŒāĻ˛āĻŋāĻ• āĻ¸āĻšāĻžāĻ¯āĻŧāĻ¤āĻž in āĻĻā§āĻ¯ āĻļā§āĻ°ā§‡āĻŖā§€
/* point-to-point-net-device.h */
āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻŽāĻĄā§‡āĻ˛;

/ **
* āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻ—ā§āĻ°āĻšāĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻŽāĻĄā§‡āĻ˛
*/
Ptr m_receiveErrorModel;

āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāĻ¨ āĻ…ā§āĻ¯āĻžāĻ•āĻ¸ā§‡āĻ¸āĻ°
āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°
PointToPointNetDevice::SetReceiveErrorModel (Ptr em)
{
NS_LOG_FUNCTION (āĻāĻ‡ << em);
m_receiveErrorModel = em;
}

.AddAttribute ("ReceiveErrorModel",
"āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻšāĻžāĻ°āĻžāĻ¨ā§‹āĻ° āĻ…āĻ¨ā§āĻ•āĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻ°āĻŋāĻ¸āĻŋāĻ­āĻžāĻ° āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻŽāĻĄā§‡āĻ˛",
āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻ­ā§āĻ¯āĻžāĻ˛ā§ (),
MakePointerAccessor (&PointToPointNetDevice::m_receiveErrorModel),
MakePointerChecker ())

āĻ‰āĻ˛ā§āĻ˛āĻŽā§āĻŦ āĻŽāĻ§ā§āĻ¯ā§‡ āĻĻā§āĻ¯ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ
void PointToPointNetDevice::āĻ°āĻŋāĻ¸āĻŋāĻ­ (Ptr āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ)
{
NS_LOG_FUNCTION (āĻāĻ‡ << āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ);
uint16_t āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ = 0;

āĻ¯āĻĻāĻŋ (m_receiveErrorModel && m_receiveErrorModel->IsCorrupt (āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ) )
{
//
// āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻŽāĻĄā§‡āĻ˛ āĻĨāĻžāĻ•ā§‡ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻšāĻžāĻ°āĻžāĻ¨ā§‹āĻ° āĻ¸āĻŽāĻ¯āĻŧ
// āĻĻā§‚āĻˇāĻŋāĻ¤ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ, āĻāĻ‡ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸāĻŸāĻŋ āĻĢāĻ°ā§‹āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ¨āĻž, āĻāĻŸāĻŋ āĻ¯ā§‡āĻ¤ā§‡ āĻĻāĻŋāĻ¨āĨ¤
//
m_dropTrace (āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ);
}
āĻ†āĻ°
{
//
// āĻ°āĻŋāĻ¸āĻŋāĻ­ āĻŸā§āĻ°ā§‡āĻ¸ āĻšā§āĻ• āĻŸāĻŋāĻĒā§āĻ¨, āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ-āĻŸā§-āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻšā§‡āĻĄāĻžāĻ° āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°ā§āĻ¨
// āĻāĻŦāĻ‚ āĻāĻ‡ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸāĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ• āĻ†āĻĒ āĻ•āĻ°ā§āĻ¨āĨ¤
//
m_rxTrace (āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ);
āĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻšā§‡āĻĄāĻžāĻ° (āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ, āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛);
m_rxCallback (āĻāĻ‡, āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ, āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛, GetRemote ());
āĻ¯āĻĻāĻŋ (!m_promiscCallback.IsNull ())
{ m_promiscCallback (āĻāĻ‡, āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ, āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛, GetRemote (),
GetAddress (), NetDevice::PACKET_HOST);
}
}
}

āĻ¸ā§ƒāĻˇā§āĻŸāĻŋ āĻ–āĻžāĻ˛āĻŋ āĻ•āĻžāĻ°ā§āĻŽāĻŋāĻ• āĻ˛āĻŋāĻĒāĻŋ
/* simple-error-model.cc */

// āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻŽāĻĄā§‡āĻ˛
// āĻ†āĻŽāĻ°āĻž āĻ¨ā§‹āĻĄ 3 āĻāĻ° NetDevice āĻ āĻāĻ•āĻŸāĻŋ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻŽāĻĄā§‡āĻ˛ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡
// āĻ†āĻŽāĻ°āĻž āĻšā§āĻ¯āĻžāĻ¨ā§‡āĻ˛ āĻāĻŦāĻ‚ āĻ¨ā§‹āĻĄā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ NetDevice-āĻ āĻāĻ•āĻŸāĻŋ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄā§‡āĻ˛ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ
// āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ°
Ptr nd3 = PointToPointTopology::GetNetDevice
(n3, āĻšā§āĻ¯āĻžāĻ¨ā§‡āĻ˛2);
Ptr em = āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ ();
nd3->SetReceiveErrorModel (em);

bool,
ErrorModel ::DoCorrupt (āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻ“ āĻĒāĻŋ)
{
NS_LOG_FUNCTION;
NS_LOG_UNCOND("āĻĻā§āĻ°ā§āĻ¨ā§€āĻ¤āĻŋāĻ—ā§āĻ°āĻ¸ā§āĻ¤!");
āĻŽāĻŋāĻĨā§āĻ¯āĻž āĻĢāĻŋāĻ°ā§‡;
}

āĻāĻ‡ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§‡, āĻ†āĻŽāĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¤ā§āĻšā§āĻ› ErrorModel āĻĒā§āĻ°āĻžāĻĒā§āĻ¤āĻŋāĻ¤ā§‡ āĻĒā§āĻ˛āĻžāĻŽā§āĻŦ āĻ•āĻ°ā§‡ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŸāĻŋ āĻšāĻžāĻ˛āĻžāĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ
PointToPointNetDevice āĻāĻ° āĻĒāĻĨāĨ¤ āĻāĻŸāĻŋ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ āĻ•āĻ°ā§‡ "āĻĻā§āĻ°ā§āĻ¨ā§€āĻ¤āĻŋāĻ—ā§āĻ°āĻ¸ā§āĻ¤!" āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯
āĻ¨ā§‹āĻĄ n3 āĻ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤āĨ¤ āĻāĻ°āĻĒāĻ°ā§‡, āĻ†āĻŽāĻ°āĻž āĻĒāĻžāĻ°āĻĢāĻ°ā§āĻŽ āĻ•āĻ°ā§‡ āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻŦāĻ•ā§āĻ˛āĻžāĻ¸ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻŽāĻĄā§‡āĻ˛ā§‡ āĻĢāĻŋāĻ°ā§‡ āĻ†āĻ¸āĻŋ
āĻ†āĻ°ā§‹ āĻ†āĻ•āĻ°ā§āĻˇāĻŖā§€āĻ¯āĻŧ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻŽāĻĄā§‡āĻ˛āĻŋāĻ‚.

āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāĻ¨ a āĻ¸āĻžāĻŦāĻ•ā§āĻ˛āĻžāĻ¸
āĻ¤ā§āĻšā§āĻ› āĻŦā§‡āĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸ ErrorModel āĻ†āĻ•āĻ°ā§āĻˇāĻŖā§€āĻ¯āĻŧ āĻ•āĻŋāĻ›ā§ āĻ•āĻ°ā§‡ āĻ¨āĻž, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡
āĻĻāĻ°āĻ•āĻžāĻ°ā§€ āĻŦā§‡āĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ (āĻĻā§āĻ°ā§āĻ¨ā§€āĻ¤āĻŋāĻ—ā§āĻ°āĻ¸ā§āĻ¤ () āĻāĻŦāĻ‚ āĻ°āĻŋāĻ¸ā§‡āĻŸ ()), āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĢāĻ°ā§‹āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¯ā§‡
āĻ¸āĻžāĻŦāĻ•ā§āĻ˛āĻžāĻ¸ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻ° āĻĒāĻ°ā§‡ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻ¯āĻžāĻ• āĻ¯ā§‡ āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ BasicErrorModel āĻŦāĻ˛āĻŋ āĻ¯āĻž āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡
āĻĻā§āĻ¯ ns-2 ErrorModel āĻ•ā§āĻ˛āĻžāĻ¸ (in ns-2/queue/errmodelā§ˇcc,h}).

āĻ•āĻŋ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻĻā§ƒāĻˇā§āĻŸāĻŋāĻ•ā§‹āĻŖ āĻĨā§‡āĻ•ā§‡ āĻāĻ‡ āĻ†āĻ›ā§‡ āĻšāĻžāĻ‡? āĻ†āĻŽāĻ°āĻž āĻšāĻžāĻ‡
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ¯āĻžāĻ¤ā§‡ āĻ¤ā§āĻšā§āĻ›āĻ­āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ ErrorModel-āĻāĻ° āĻ§āĻ°āĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻšāĻ¨
āĻ¨ā§‡āĻŸāĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸āĨ¤ āĻ†āĻŽāĻ°āĻž āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°āĻ¯ā§‹āĻ—ā§āĻ¯ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻžāĻ“ āĻšāĻžāĻ‡āĨ¤

āĻāĻ–āĻžāĻ¨ā§‡ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧāĻ¤āĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻ†āĻŽāĻ°āĻž āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°āĻŦ:

¡ āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻ¯āĻž āĻ•ā§āĻˇāĻ¤āĻŋ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°ā§‡ (āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻ‡āĻ‰āĻ¨āĻŋāĻĢāĻ°ā§āĻŽ āĻ­ā§āĻ¯āĻžāĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛)

¡ āĻ—ā§āĻ°āĻžāĻ¨ā§āĻ˛āĻžāĻ°āĻŋāĻŸāĻŋāĻ° āĻ‡āĻ‰āĻ¨āĻŋāĻŸ (āĻŦāĻŋāĻŸ, āĻŦāĻžāĻ‡āĻŸ, āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ, āĻ¸āĻŽāĻ¯āĻŧ) āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻ¯āĻžāĻ° āĻ‰āĻĒāĻ°ā§‡ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡
āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

¡ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ‡āĻ‰āĻ¨āĻŋāĻŸā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻ¤ā§āĻ°ā§āĻŸāĻŋāĻ° āĻšāĻžāĻ° (āĻ¯ā§‡āĻŽāĻ¨ 10^-3) āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž
āĻ•āĻŖāĻŋāĻ•āĻž

¡ āĻ¸āĻ•ā§āĻˇāĻŽ/āĻ…āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž (āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻ¸āĻ•ā§āĻˇāĻŽ)

āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻžāĻŦāĻ•ā§āĻ˛āĻžāĻ¸
āĻ†āĻŽāĻ°āĻž āĻŦā§‡āĻ¸āĻŋāĻ• āĻ‡āĻ°āĻ°āĻŽāĻĄā§‡āĻ˛āĻ•ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§‚āĻĒ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻŽāĻĄā§‡āĻ˛ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻŦāĻ•ā§āĻ˛āĻžāĻ¸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ˜ā§‹āĻˇāĻŖāĻž āĻ•āĻ°āĻŋ:

āĻ•ā§āĻ˛āĻžāĻ¸ āĻŦā§‡āĻ¸āĻŋāĻ• āĻāĻ°āĻ°āĻŽāĻĄā§‡āĻ˛: āĻ¸āĻ°ā§āĻŦāĻœāĻ¨ā§€āĻ¨ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻŽāĻĄā§‡āĻ˛
{
āĻĒā§āĻ°āĻ•āĻžāĻļā§āĻ¯:
āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻŸāĻžāĻ‡āĻĒāĻ†āĻ‡āĻĄāĻŋ GetTypeId (āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°);
...
āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤:
// āĻŦā§‡āĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸ āĻŦāĻŋāĻļā§āĻĻā§āĻ§ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°ā§āĻ¨
āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŦā§āĻ˛ DoCorrupt (Ptr āĻĒāĻŋ);
āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŦā§āĻ˛ DoReset (āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°);
...
}

āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨āĻ¨ā§āĻ¯ TypeId āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§‡ āĻ¸āĻžāĻŦāĻ•ā§āĻ˛āĻžāĻ¸ GetTypeId āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚
āĻ…āĻ­āĻŋāĻ­āĻžāĻŦāĻ•āĻ•ā§‡ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻŽāĻĄā§‡āĻ˛ā§‡ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨:

TypeId RateErrorModel::GetTypeId (āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°)
{
āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• TypeId tid = TypeId ("ns3::RateErrorModel")
.SetParent ()
.AddConstructor ()
...

āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻ•āĻ°āĻž āĻŽā§‚āĻ˛ āĻ•āĻžāĻ°ā§āĻ¯āĻžāĻŦāĻ˛ā§€ āĻāĻŦāĻ‚ āĻāĻ•āĻ• āĻŸā§‡āĻ¸ā§āĻŸ
āĻœāĻžāĻšāĻŋāĻ° āĻ•āĻ°āĻž āĻŽā§āĻ¯āĻžāĻ•ā§āĻ°ā§‹
āĻ˛ā§‡āĻ–āĻž āĻāĻ•āĻ• āĻŸā§‡āĻ¸ā§āĻŸ
āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋ a āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻĨā§‡āĻ•ā§‡ ns-3
āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻ–āĻ¨ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻ•ā§āĻ˛āĻžāĻ¸, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ—ā§āĻ°ā§āĻĒ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨, āĻ¤āĻ–āĻ¨ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻāĻ•āĻŸāĻŋ āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻ¸āĻ™ā§āĻ—ā§‡ āĻŽāĻŋāĻ˛āĻŋāĻ¤ ns-3 āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¯āĻžāĻ¤ā§‡ āĻ¤āĻžāĻ°āĻž āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ¸āĻ™ā§āĻ—ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ ns-3 āĻŽāĻĄāĻŋāĻ‰āĻ˛
āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ—āĻŦā§‡āĻˇāĻ•āĻĻā§‡āĻ° āĻĻā§āĻŦāĻžāĻ°āĻžāĨ¤

āĻāĻ‡ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧāĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻĒāĻĻāĻ•ā§āĻˇā§‡āĻĒā§‡āĻ° āĻŽāĻ§ā§āĻ¯ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻšāĻ˛ā§‡ ns-3.

āĻ§āĻžāĻĒ 0 - āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸
āĻ¸āĻŦ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§‡ src āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§‡
āĻ¯ā§‡ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻāĻ•āĻ‡ āĻ¨āĻžāĻŽ āĻ†āĻ›ā§‡. āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻĻ āĻŦāĻ°ā§āĻŖāĻžāĻ˛ā§€ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻāĻ–āĻžāĻ¨ā§‡ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§‡:
src/āĻ¸ā§āĻĒā§‡āĻ•āĻŸā§āĻ°āĻžāĻŽ. āĻ†āĻŽāĻ°āĻž āĻĨā§‡āĻ•ā§‡ āĻ‰āĻĻā§āĻ§ā§ƒāĻ¤ āĻ•āĻ°āĻž āĻšāĻŦā§‡ āĻŦāĻ°ā§āĻŖāĻžāĻ˛ā§€ āĻĻā§ƒāĻˇā§āĻŸāĻžāĻ¨ā§āĻ¤ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŽāĻĄāĻŋāĻ‰āĻ˛āĨ¤

āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻŸāĻžāĻ‡āĻĒāĻŋāĻ•āĻžāĻ˛ āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ•āĻžāĻ āĻžāĻŽā§‹ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻĢāĻžāĻ‡āĻ˛ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:

src /
āĻŽāĻĄāĻŋāĻ‰āĻ˛-āĻ¨āĻžāĻŽ/
āĻŦāĻžāĻāĻ§āĻžāĻ‡/
āĻĄāĻ•/
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ/
wscript
āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€/
āĻŽāĻĄā§‡āĻ˛/
āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž /
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ-to-run.py
wscript

āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻĨāĻžāĻ•āĻŦā§‡ āĻ¨āĻžāĨ¤

āĻ§āĻžāĻĒ 1 - āĻ¸ā§ƒāĻˇā§āĻŸāĻŋ a āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ•āĻ™ā§āĻ•āĻžāĻ˛
āĻāĻ•āĻŸāĻŋ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻ‰ā§ŽāĻ¸ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ•āĻ™ā§āĻ•āĻžāĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦā§‡
āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻāĻ‡ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻžāĻ° āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ā§‡ āĻ†āĻŽāĻ°āĻž āĻ§āĻ°ā§‡ āĻ¨ā§‡āĻŦ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛āĨ¤ āĻĨā§‡āĻ•ā§‡ src āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ, āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤āĻ—ā§āĻ˛āĻŋ āĻ•āĻ°ā§āĻ¨:

$ ./create-module.py new-module

āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€, cd āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛; āĻ†āĻĒāĻ¨āĻŋ āĻāĻ‡ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻĒāĻžāĻŦā§‡āĻ¨:

$cd new-module
s ls
āĻĄāĻ• āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸āĻšāĻ•āĻžāĻ°ā§€ āĻŽāĻĄā§‡āĻ˛ āĻŸā§‡āĻ¸ā§āĻŸ wscript

āĻ†āĻ°ā§‹ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤āĻ­āĻžāĻŦā§‡, create-module.py āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ° āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦā§‡
āĻ•āĻ™ā§āĻ•āĻžāĻ˛ wscript, .h, .cc āĻāĻŦāĻ‚ .āĻĒā§āĻ°āĻĨāĻŽ āĻ¨āĻĨāĻŋ āĻĒāĻ¤ā§āĻ°. āĻ•āĻ™ā§āĻ•āĻžāĻ˛ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ
āĻāĻŸāĻžāĻ° āĻŽāĻ¤:

src /
āĻ¨āĻ¤ā§āĻ¨-āĻŽāĻĄāĻŋāĻ‰āĻ˛/
āĻĄāĻ•/
new-module.rst
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ/
new-module-example.cc
wscript
āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€/
new-module-helper.cc
new-module-helper.h
āĻŽāĻĄā§‡āĻ˛/
new-module.cc
new-module.h
āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž /
new-module-test-suite.cc
wscript

(āĻ¯āĻĻāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¯āĻŧ āĻŦāĻžāĻāĻ§āĻžāĻ‡/ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ­ā§āĻ•ā§āĻ¤ āĻ§āĻžāĻĒ 0 āĻ¸āĻŽāĻ¯āĻŧ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻŦā§‡
āĻŦāĻŋāĻ˛ā§āĻĄ.)

āĻ†āĻŽāĻ°āĻž āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€āĻ¤ā§‡ āĻāĻ‡ āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻŸāĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻ¸ā§āĻŸāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¤āĻž āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻšāĻ˛āĻŦāĨ¤ āĻ¤āĻĨā§āĻ¯ āĻĻāĻŋāĻšā§āĻ›ā§‡ āĻ“āĻ¯āĻŧāĻžāĻĢ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¯āĻž
āĻĻā§āĻŸāĻŋ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻ•āĻ°ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻŸāĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ wscript āĻ¨āĻĨāĻŋ āĻĒāĻ¤ā§āĻ°. āĻ†āĻŽāĻ°āĻž āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻšāĻžāĻāĻŸāĻž āĻšāĻŦā§‡
āĻāĻ‡ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧā§‡ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻĒāĻĻāĻ•ā§āĻˇā§‡āĻĒ.

āĻ¸āĻŦ ns-3 āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡ āĻ•ā§‹āĻ° āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻāĻŦāĻ‚ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡āĨ¤ āĻāĻ‡ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž
āĻ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ wscript āĻĢāĻžāĻ‡āĻ˛ (āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡āĻ° āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ¸ā§āĻ¤āĻ°ā§‡, āĻ†āĻ˛āĻžāĻĻāĻž āĻ¨āĻ¯āĻŧ wscript
āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ!) āĻ•āĻ™ā§āĻ•āĻžāĻ˛ā§‡ wscript āĻ•āĻ˛ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ˜ā§‹āĻˇāĻŖāĻž āĻ•āĻ°āĻŦā§‡
āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ“āĻ¯āĻŧāĻžāĻĢ āĻāĻ‡ āĻŽāĻ¤ āĻĻā§‡āĻ–āĻžāĻŦā§‡ (āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻ†āĻ—ā§‡):

def āĻŦāĻŋāĻ˛ā§āĻĄ (āĻŦāĻŋāĻāĻ˛āĻĄāĻŋ):
āĻŽāĻĄāĻŋāĻ‰āĻ˛ = bld.create_ns3_module('new-module', ['core'])

āĻ§āĻ°āĻž āĻ¯āĻžāĻ• āĻ¯ā§‡ āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ¨ā§‡āĻŸ, āĻ—āĻ¤āĻŋāĻļā§€āĻ˛āĻ¤āĻž, āĻāĻŦāĻ‚ aodv āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻĒāĻ°ā§‡
āĻāĻŸāĻŋ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻ•āĻ°āĻž wscript āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻŽāĻ¤ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻšāĻŦā§‡:

def āĻŦāĻŋāĻ˛ā§āĻĄ (āĻŦāĻŋāĻāĻ˛āĻĄāĻŋ):
āĻŽāĻĄāĻŋāĻ‰āĻ˛ = bld.create_ns3_module('āĻ¨āĻ¤ā§āĻ¨-āĻŽāĻĄāĻŋāĻ‰āĻ˛', ['āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ¨ā§‡āĻŸ', 'āĻŽā§‹āĻŦāĻŋāĻ˛āĻŋāĻŸāĻŋ', 'aodv'])

āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ āĻ¯ā§‡ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤, āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻ°āĻž āĻ¸āĻ°āĻŋāĻ¯āĻŧā§‡ āĻĻāĻŋāĻ¯āĻŧā§‡āĻ›āĻŋ
āĻ•ā§‹āĻ°; āĻĻā§āĻ¯ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ¨ā§‡āĻŸ āĻĒāĻžāĻ˛āĻžāĻ•ā§āĻ°āĻŽā§‡ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡ āĻ•ā§‹āĻ°.

āĻ†āĻĒāĻ¨āĻžāĻ° āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡ āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻŽāĻĄā§‡āĻ˛ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻĢāĻžāĻ‡āĻ˛ āĻĨāĻžāĻ•āĻŦā§‡āĨ¤ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻ•āĻ™ā§āĻ•āĻžāĻ˛ (āĻ¯āĻž āĻšāĻŦā§‡
āĻ¸āĻĢāĻ˛āĻ­āĻžāĻŦā§‡ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛) āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ model/new-module.cc āĻāĻŦāĻ‚ model/new-module.h.

āĻ†āĻĒāĻ¨āĻžāĻ° āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡ āĻ¯āĻĻāĻŋ āĻšā§‡āĻ˛ā§āĻĒāĻžāĻ° āĻ¸ā§‹āĻ°ā§āĻ¸ āĻĢāĻžāĻ‡āĻ˛ āĻĨāĻžāĻ•ā§‡, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ¤ā§‡ āĻ¯āĻžāĻŦā§‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€/
āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ; āĻ†āĻŦāĻžāĻ°, āĻ¸ā§‡āĻ‡ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻ•āĻ™ā§āĻ•āĻžāĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

āĻ…āĻŦāĻļā§‡āĻˇā§‡, āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻāĻŦāĻ‚ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ˛ā§‡āĻ–āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ­āĻžāĻ˛ āĻ…āĻ­ā§āĻ¯āĻžāĻ¸āĨ¤ āĻāĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻšāĻŦā§‡
āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ…āĻĢāĻŋāĻ¸āĻŋāĻ¯āĻŧāĻžāĻ˛ā§‡ āĻ—ā§ƒāĻšā§€āĻ¤ āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ ns-3 āĻ‰ā§ŽāĻ¸ āĻ—āĻžāĻ›āĨ¤ āĻāĻ•āĻŸāĻŋ āĻ•āĻ™ā§āĻ•āĻžāĻ˛
āĻŸā§‡āĻ¸ā§āĻŸ āĻ¸ā§āĻ¯ā§āĻŸ āĻāĻŦāĻ‚ āĻŸā§‡āĻ¸ā§āĻŸ āĻ•ā§‡āĻ¸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž / āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ•āĻ™ā§āĻ•āĻžāĻ˛ āĻŸā§‡āĻ¸ā§āĻŸ āĻ¸ā§āĻ¯ā§āĻŸ āĻšāĻŦā§‡
āĻ¨ā§€āĻšā§‡āĻ° āĻ•āĻ¨āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•ā§āĻŸāĻ° āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§‡, āĻ¯āĻž āĻ¨āĻžāĻŽā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ‡āĻ‰āĻ¨āĻŋāĻŸ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ˜ā§‹āĻˇāĻŖāĻž āĻ•āĻ°ā§‡ āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛, āĻ¸āĻ™ā§āĻ—ā§‡ āĻāĻ•āĻŸāĻŋ
āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ—āĻ āĻŋāĻ¤ āĻāĻ•āĻ• āĻŸā§‡āĻ¸ā§āĻŸ āĻ•ā§‡āĻ¸ NewModuleTestCase1:

NewModuleTestSuite::NewModuleTestSuite ()
: TestSuite ("āĻ¨āĻ¤ā§āĻ¨-āĻŽāĻĄāĻŋāĻ‰āĻ˛", UNIT)
{
AddTestCase (āĻ¨āĻ¤ā§āĻ¨ NewModuleTestCase1);
}

āĻ§āĻžāĻĒ 3 - āĻ˜ā§‹āĻˇāĻŖāĻž āĻ•āĻ°āĻž āĻ‰ā§ŽāĻ¸ āĻ¨āĻĨāĻŋ āĻĒāĻ¤ā§āĻ°
āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ°ā§āĻŦāĻœāĻ¨ā§€āĻ¨ āĻļāĻŋāĻ°ā§‹āĻ¨āĻžāĻŽ āĻāĻŦāĻ‚ āĻ‰āĻ¤ā§āĻ¸ āĻ•ā§‹āĻĄ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻ¤ā§‡ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤
wscript āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻŸā§‡āĻ•ā§āĻ¸āĻŸ āĻāĻĄāĻŋāĻŸāĻ° āĻĻāĻŋāĻ¯āĻŧā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡āĨ¤

āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻŋāĻ¸āĻžāĻŦā§‡, āĻ˜ā§‹āĻˇāĻŖāĻž āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡ āĻŦāĻ°ā§āĻŖāĻžāĻ˛ā§€ āĻŽāĻĄāĻŋāĻ‰āĻ˛, src/āĻ¸ā§āĻĒā§‡āĻ•āĻŸā§āĻ°āĻžāĻŽ/wscript āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°ā§‡
āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ¸āĻš āĻ‰āĻ¤ā§āĻ¸ āĻ•ā§‹āĻĄ āĻĢāĻžāĻ‡āĻ˛:

def āĻŦāĻŋāĻ˛ā§āĻĄ (āĻŦāĻŋāĻāĻ˛āĻĄāĻŋ):

āĻŽāĻĄāĻŋāĻ‰āĻ˛ = bld.create_ns3_module('āĻ¸ā§āĻĒā§‡āĻ•āĻŸā§āĻ°āĻžāĻŽ', ['āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ¨ā§‡āĻŸ', 'āĻĒā§āĻ°āĻšāĻžāĻ°', 'āĻ…ā§āĻ¯āĻžāĻ¨ā§āĻŸā§‡āĻ¨āĻž', 'āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨'])

module.source = [
'model/spectrum-model.cc',
'model/spectrum-value.cc',
.
.
.
'model/microwave-oven-spectrum-value-helper.cc',
'helper/spectrum-helper.cc',
'helper/adhoc-aloha-noack-ideal-phy-helper.cc',
'helper/waveform-generator-helper.cc',
'helper/spectrum-analyzer-helper.cc',
]

āĻāĻ‡ āĻ‰āĻ¤ā§āĻ¸āĻ—ā§āĻ˛āĻŋ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ•āĻ°āĻžāĻ° āĻĢāĻ˛ā§‡ āĻŦāĻ¸ā§āĻ¤ā§āĻ—ā§āĻ˛āĻŋ āĻāĻ•āĻŸāĻŋ āĻ˛āĻŋāĻ™ā§āĻ• āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ¤ā§‡ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻšāĻŦā§‡,
āĻ¯āĻž āĻāĻ‡ āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻļā§€āĻ˛ āĻ•ā§‹āĻ¨ā§‹ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ˛āĻŋāĻ™ā§āĻ• āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤

āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻ—ā§āĻ˛āĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡āĻ° āĻĒāĻžāĻŦāĻ˛āĻŋāĻ• API āĻļāĻŋāĻ–āĻŦā§‡? āĻĒāĻĄāĻŧāĻ¤ā§‡!

āĻ§āĻžāĻĒ 4 - āĻ˜ā§‹āĻˇāĻŖāĻž āĻ•āĻ°āĻž āĻĒā§āĻ°āĻ•āĻžāĻļā§āĻ¯ āĻļāĻŋāĻ°ā§‹āĻ˛ā§‡āĻ– āĻ¨āĻĨāĻŋ āĻĒāĻ¤ā§āĻ°
āĻ†āĻĒāĻ¨āĻžāĻ° āĻŽāĻĄā§‡āĻ˛ āĻāĻŦāĻ‚ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€āĻ° āĻ¸āĻ°ā§āĻŦāĻœāĻ¨ā§€āĻ¨ API āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻšā§‡āĻĄāĻžāĻ° āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ“ āĻšāĻ“āĻ¯āĻŧāĻž āĻ‰āĻšāĻŋāĻ¤
āĻ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ wscript āĻĢāĻžāĻ‡āĻ˛.

āĻ¸āĻžāĻĨā§‡ āĻšāĻžāĻ˛āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻšā§āĻ›āĻŋ āĻŦāĻ°ā§āĻŖāĻžāĻ˛ā§€ āĻŽāĻĄā§‡āĻ˛ āĻ‡āĻ˛āĻžāĻ¸ā§āĻŸā§āĻ°ā§‡āĻļāĻ¨, āĻĒāĻžāĻŦāĻ˛āĻŋāĻ• āĻšā§‡āĻĄāĻžāĻ° āĻĢāĻžāĻ‡āĻ˛ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ¸ā§āĻ¤āĻŦāĻ• āĻ¸āĻ™ā§āĻ—ā§‡. (āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–ā§āĻ¯ āĻ¯ā§‡ āĻ¯ā§āĻ•ā§āĻ¤āĻŋ bld āĻĢāĻžāĻ‚āĻļāĻ¨ āĻŦāĻ˛ā§‡ āĻ“āĻ¯āĻŧāĻžāĻĢ āĻĨā§‡āĻ•ā§‡
āĻ…āĻ¨ā§āĻ¯āĻŸāĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ‡ āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡āĻ° āĻšā§‡āĻĄāĻžāĻ° āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°ā§āĻ¨ ns-3 āĻļāĻŋāĻ°ā§‹āĻ¨āĻžāĻŽ):

āĻšā§‡āĻĄāĻžāĻ° = bld (āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯='ns3header')

headers.module = 'āĻ¸ā§āĻĒā§‡āĻ•āĻŸā§āĻ°āĻžāĻŽ'

headers.source = [
'model/spectrum-model.h',
'model/spectrum-value.h',
.
.
.
'model/microwave-oven-spectrum-value-helper.h',
'helper/spectrum-helper.h',
'helper/adhoc-aloha-noack-ideal-phy-helper.h',
'helper/waveform-generator-helper.h',
'helper/spectrum-analyzer-helper.h',
]

āĻāĻ‡āĻ­āĻžāĻŦā§‡ āĻ¸āĻ°ā§āĻŦāĻœāĻ¨ā§€āĻ¨ āĻ•āĻ°āĻž āĻļāĻŋāĻ°ā§‹āĻ¨āĻžāĻŽāĻ—ā§āĻ˛āĻŋ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ¸āĻš āĻ†āĻĒāĻ¨āĻžāĻ° āĻŽāĻĄā§‡āĻ˛ā§‡āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻ•āĻžāĻ›ā§‡ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸āĻ¯ā§‹āĻ—ā§āĻ¯ āĻšāĻŦā§‡
āĻŽāĻ¤ āĻŦāĻŋāĻŦā§ƒāĻ¤āĻŋ

# "ns3/spectrum-model.h" āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§āĻ¨

āĻ†āĻĒāĻ¨āĻžāĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡ āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖāĻ­āĻžāĻŦā§‡ āĻ•āĻ ā§‹āĻ°āĻ­āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšā§‡āĻĄāĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻāĻ–āĻžāĻ¨ā§‡ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ¨āĻ¯āĻŧāĨ¤ āĻ¤āĻžāĻ°āĻž
āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻŦāĻŋāĻŦā§ƒāĻ¤āĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻ–āĻ¨āĻ“ āĻ†āĻĒāĻ¨āĻžāĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸āĻ¯ā§‹āĻ—ā§āĻ¯

# "my-module-implementation.h" āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§āĻ¨

āĻ§āĻžāĻĒ 5 - āĻ˜ā§‹āĻˇāĻŖāĻž āĻ•āĻ°āĻž āĻŸā§‡āĻ¸ā§āĻŸ
āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡āĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻĨāĻžāĻ•ā§‡, āĻ¤āĻŦā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ wscript āĻĻā§āĻŦāĻžāĻ°āĻž āĻĢāĻžāĻ‡āĻ˛
āĻ†āĻĒāĻ¨āĻžāĻ° āĻŸā§‡āĻ•ā§āĻ¸āĻŸ āĻāĻĄāĻŋāĻŸāĻ° āĻĻāĻŋāĻ¯āĻŧā§‡ āĻāĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡āĨ¤

āĻ¸āĻžāĻ°ā§āĻœāĻžāĻ°āĻŋāĻ° āĻŦāĻ°ā§āĻŖāĻžāĻ˛ā§€ āĻŽāĻĄā§‡āĻ˛ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ¸ā§āĻ¤āĻŦāĻ• āĻ¸āĻ™ā§āĻ—ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ:

module_test = bld.create_ns3_module_test_library('āĻ¸ā§āĻĒā§‡āĻ•āĻŸā§āĻ°āĻžāĻŽ')

module_test.source = [
'test/spectrum-interference-test.cc',
'test/spectrum-value-test.cc',
]

āĻĻā§‡āĻ– āĻŸā§‡āĻ¸ā§āĻŸ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ•ā§‡āĻ¸ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻšāĻ¯āĻŧ āĻ¸ā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ†āĻ°āĻ“ āĻ¤āĻĨā§āĻ¯ā§‡āĻ° āĻœāĻ¨ā§āĻ¯āĨ¤

āĻ§āĻžāĻĒ 6 - āĻ˜ā§‹āĻˇāĻŖāĻž āĻ•āĻ°āĻž āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ
āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĨāĻžāĻ•ā§‡, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ/wscript
āĻĢāĻžāĻ‡āĻ˛ (āĻ•āĻ™ā§āĻ•āĻžāĻ˛ āĻŸāĻĒ-āĻ˛ā§‡āĻ­ā§‡āĻ˛ wscript recursively āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻŦā§‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ/wscript āĻļā§āĻ§ā§ āĻ¯āĻĻāĻŋ
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ—ā§āĻ˛āĻŋ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤)

āĻ¸āĻžāĻ°ā§āĻœāĻžāĻ°āĻŋāĻ° āĻŦāĻ°ā§āĻŖāĻžāĻ˛ā§€ āĻŽāĻĄā§‡āĻ˛ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°ā§‡ āĻāĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ src/spectrum/examples/wscript āĻ¸āĻ™ā§āĻ—ā§‡

def āĻŦāĻŋāĻ˛ā§āĻĄ (āĻŦāĻŋāĻāĻ˛āĻĄāĻŋ):
obj = bld.create_ns3_program('adhoc-aloha- ideal-phy',
['āĻ¸ā§āĻĒā§‡āĻ•āĻŸā§āĻ°āĻžāĻŽ', 'āĻŽā§‹āĻŦāĻŋāĻ˛āĻŋāĻŸāĻŋ'])
obj.source = 'adhoc-aloha-ideal-phy.cc'

āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡ āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ create_ns3_program() āĻšāĻ˛ āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡āĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž
āĻ¯ā§‡ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ āĻ¤āĻžāĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡; āĻ†āĻŦāĻžāĻ°, āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻ­ā§āĻ˛āĻŦā§‡āĻ¨ āĻ¨āĻž āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛ in
āĻ•ā§āĻ°āĻŽāĻ¤āĻžāĻ˛āĻŋāĻ•āĻž. āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻ¸āĻ°ā§āĻŦā§‹āĻ¤ā§āĻ¤āĻŽ āĻ…āĻ¨ā§āĻļā§€āĻ˛āĻ¨, āĻāĻŦāĻ‚ āĻ¯āĻžāĻ• āĻ“āĻ¯āĻŧāĻžāĻĢ
āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻ—āĻžāĻ› āĻ…āĻ¨ā§āĻŽāĻžāĻ¨.

āĻŽāĻžāĻā§‡ āĻŽāĻžāĻā§‡, āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨āĻ•ā§‡ āĻŦāĻŋāĻ­āĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ‰ā§ŽāĻ¸ āĻĢāĻžāĻ‡āĻ˛āĨ¤ āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¸ā§‡āĻ‡ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§āĻ¨
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻ‰āĻ¤ā§āĻ¸:

obj = bld.create_ns3_program('āĻ¨āĻ¤ā§āĻ¨-āĻŽāĻĄāĻŋāĻ‰āĻ˛-āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ', [āĻ¨āĻ¤ā§āĻ¨-āĻŽāĻĄāĻŋāĻ‰āĻ˛])
obj.source = ['new-module-example.cc', 'new-module-example-part.cc']

āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ•āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ. āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–ā§āĻ¯ āĻ¯ā§‡ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ
āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¯ā§āĻ•ā§āĻ¤āĻŋ register_ns3_script() āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡āĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡:

bld.register_ns3_script('new-module-example.py', ['new-module'])

āĻ§āĻžāĻĒ 7 - āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻžāĻ˛āĻžāĻ¨ as āĻŸā§‡āĻ¸ā§āĻŸ
āĻ¸ā§āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ•ā§‹āĻĄ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ, āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻŸāĻŋāĻ“ āĻ‰āĻĒāĻ•āĻ°āĻŖ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ°āĻŋāĻ—ā§āĻ°ā§‡āĻļāĻ¨ āĻ§āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻ—ā§āĻ˛āĻŋ āĻšāĻžāĻ˛āĻžāĻ¨āĨ¤ āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ¸āĻŦ āĻ¨āĻž
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ°āĻŋāĻ—ā§āĻ°ā§‡āĻļāĻ¨ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤āĨ¤ āĻĢāĻžāĻ‡āĻ˛ test/examples-to-run.py āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ•āĻ°ā§‡
āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ¸āĻžā§āĻšāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ˛ā§‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻ†āĻŽāĻ¨ā§āĻ¤ā§āĻ°āĻŖāĨ¤

āĻ¸āĻžāĻ°ā§āĻœāĻžāĻ°āĻŋāĻ° āĻŦāĻ°ā§āĻŖāĻžāĻ˛ā§€ āĻĻā§āĻŦāĻžāĻ°āĻž āĻšāĻžāĻ˛āĻŋāĻ¤ āĻŽāĻĄā§‡āĻ˛ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ test.py āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
src/spectrum/test/examples-to-run.py C++ āĻāĻŦāĻ‚ āĻĒāĻžāĻ‡āĻĨāĻ¨ā§‡āĻ° āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĻā§āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ:

# C++ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ¯āĻžāĻ¤ā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻĨāĻžāĻ•ā§‡ āĻ¤āĻž āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯
# āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖāĻ¯ā§‹āĻ—ā§āĻ¯ āĻāĻŦāĻ‚ āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ tuple āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§‡
#
# (āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ_āĻ¨āĻžāĻŽ, do_run, do_valgrind_run)āĨ¤
#
# āĻ†āĻ°āĻ“ āĻ¤āĻĨā§āĻ¯ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ test.py āĻĻā§‡āĻ–ā§āĻ¨āĨ¤
cpp_examples = [
("āĻ…ā§āĻ¯āĻžāĻĄāĻšāĻ•-āĻ†āĻ˛ā§‹āĻšāĻž-āĻ†āĻĻāĻ°ā§āĻļ-āĻĢāĻŋ", "āĻ¸āĻ¤ā§āĻ¯", "āĻ¸āĻ¤ā§āĻ¯"),
("āĻ…ā§āĻ¯āĻžāĻĄāĻšāĻ•-āĻ†āĻ˛ā§‹āĻšāĻž-āĻ†āĻĻāĻ°ā§āĻļ-āĻĢāĻžāĻ‡-āĻ“āĻ¯āĻŧāĻžāĻ‡āĻĨ-āĻŽāĻžāĻ‡āĻ•ā§āĻ°ā§‹āĻ“āĻ¯āĻŧā§‡āĻ­-āĻ“āĻ­ā§‡āĻ¨", "āĻŸā§āĻ°ā§", "āĻŸā§āĻ°ā§"),
("āĻ…ā§āĻ¯āĻžāĻĄāĻšāĻ•-āĻ†āĻ˛ā§‹āĻšāĻž-āĻ†āĻĻāĻ°ā§āĻļ-āĻĢāĻžāĻ‡-āĻŽā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻ•ā§āĻ¸-āĻĒā§āĻ°āĻšāĻžāĻ°-āĻ•ā§āĻˇāĻ¤āĻŋ-āĻŽāĻĄā§‡āĻ˛", "āĻ¸āĻ¤ā§āĻ¯", "āĻ¸āĻ¤ā§āĻ¯"),
]

# āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ¯āĻžāĻ¤ā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻĨāĻžāĻ•ā§‡ āĻ¤āĻž āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯
# āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ tuple āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§‡
#
# (āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ_āĻ¨āĻžāĻŽ, āĻ•āĻ°āĻŦā§‡āĻ¨_āĻ°āĻžāĻ¨)āĨ¤
#
# āĻ†āĻ°āĻ“ āĻ¤āĻĨā§āĻ¯ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ test.py āĻĻā§‡āĻ–ā§āĻ¨āĨ¤
python_examples = [
("sample-simulator.py", "True"),
]

āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻŋāĻ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§‡, āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ—ā§āĻ˛āĻŋāĻ° C++ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻāĻ¨ā§āĻŸā§āĻ°āĻŋāĻ¤ā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡
āĻŸāĻŋāĻĒāĻ˛ (āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ_āĻ¨āĻžāĻŽ, do_run, do_valgrind_run), āĻ•ā§‹āĻĨāĻžāĻ¯āĻŧ

¡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ_āĻ¨āĻžāĻŽ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻŦā§‡ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¯ā§‹āĻ—ā§āĻ¯,

¡ do_run āĻāĻ•āĻŸāĻŋ āĻļāĻ°ā§āĻ¤ āĻ¯āĻžāĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯, āĻāĻŦāĻ‚

¡ do_valgrind_run āĻ­ā§āĻ¯āĻžāĻ˛āĻ—ā§āĻ°āĻŋāĻ¨ā§āĻĄā§‡āĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻļāĻ°ā§āĻ¤āĨ¤ (āĻāĻ‡
āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ•āĻžāĻ°āĻŖ NSC āĻ•āĻŋāĻ›ā§ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ…āĻŦā§ˆāĻ§ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•ā§āĻ°ā§āĻ¯āĻžāĻļ āĻ•āĻ°ā§‡ āĻ¯āĻ–āĻ¨ āĻ¤āĻžāĻ°āĻž
āĻ­āĻžāĻ˛āĻ—ā§āĻ°āĻŋāĻ¨ā§āĻĄā§‡āĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧāĨ¤)

āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ āĻ¯ā§‡ āĻĻā§āĻŸāĻŋ āĻļāĻ°ā§āĻ¤ āĻšāĻ˛ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻ¸ā§āĻŸā§‡āĻŸāĻŽā§‡āĻ¨ā§āĻŸ āĻ¯āĻž āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ“āĻ¯āĻŧāĻžāĻĢ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨
āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ,

("tcp-nsc-lfn", "NSC_ENABLED == āĻ¸āĻ¤ā§āĻ¯", "NSC_ENABLED == āĻŽāĻŋāĻĨā§āĻ¯āĻž"),

āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻāĻ¨ā§āĻŸā§āĻ°āĻŋāĻ¤ā§‡ āĻŸāĻŋāĻĒāĻ˛ āĻĨāĻžāĻ•ā§‡ (āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ_āĻ¨āĻžāĻŽ,
do_run), āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡, C++ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯,

¡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ_āĻ¨āĻžāĻŽ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻŦā§‡, āĻāĻŦāĻ‚

¡ do_run āĻāĻ•āĻŸāĻŋ āĻļāĻ°ā§āĻ¤ āĻ¯āĻžāĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯.

āĻ†āĻŦāĻžāĻ°, āĻļāĻ°ā§āĻ¤āĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦāĻŋāĻŦā§ƒāĻ¤āĻŋ āĻ¯āĻž āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ“āĻ¯āĻŧāĻžāĻĢ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛āĨ¤
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ,

("realtime-udp-echo.py", "ENABLE_REAL_TIME == āĻŽāĻŋāĻĨā§āĻ¯āĻž"),

āĻ§āĻžāĻĒ 8 - āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻ•āĻ°āĻž
āĻ†āĻĒāĻ¨āĻŋ āĻāĻ–āĻ¨ āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ• āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻŸāĻŋ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻ¤ā§‡, āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡
āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĨāĻŽ āĻĒāĻĻāĻ•ā§āĻˇā§‡āĻĒ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ āĻ¯āĻžāĻ¤ā§‡ āĻ“āĻ¯āĻŧāĻžāĻĢ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻ¤āĻĨā§āĻ¯ āĻ•ā§āĻ¯āĻžāĻļā§‡ wscript āĻĢāĻžāĻ‡āĻ˛, āĻŦāĻž
āĻ…āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻŦāĻŋāĻ˛ā§āĻĄā§‡ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻŦā§‡ āĻ¨āĻžāĨ¤

$ ./waf āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° --enable-examples --enable-tests
$ ./waf āĻŦāĻŋāĻ˛ā§āĻĄ
$ ./test.py

āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡āĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¸ā§āĻ¯ā§āĻŸ (āĻāĻŦāĻ‚ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ, āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡ āĻĨāĻžāĻ•ā§‡) āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻ•āĻ°ā§āĻ¨
āĻ¸āĻ•ā§āĻˇāĻŽ) āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ†āĻ‰āĻŸāĻĒā§āĻŸā§‡āĨ¤

āĻ§āĻžāĻĒ 9 - āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦāĻžāĻāĻ§āĻžāĻ‡
āĻ†āĻĒāĻ¨āĻžāĻ° āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻāĻšā§āĻ›āĻŋāĻ•, āĻāĻŦāĻ‚ āĻĒāĻĻāĻ•ā§āĻˇā§‡āĻĒāĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻ•āĻ°ā§‡āĻ›ā§‡
āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŽāĻ§ā§āĻ¯ā§‡ create-module.py āĻ˛āĻŋāĻĒāĻŋ.

# bld.ns3_python_bindings()

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨ (āĻ†āĻĒāĻ¨āĻŋ āĻĒāĻžāĻ‡āĻĨāĻ¨ ns-3 āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻšāĻžāĻ¨ āĻ¤āĻŦā§‡āĻ‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨
C++ ns-3 āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ), āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ‰āĻĒāĻ°ā§‡āĻ°āĻŸāĻŋ āĻ†āĻ¨āĻ•āĻŽā§‡āĻ¨ā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡
Python API āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ¨āĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ (āĻāĻ‡ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŸāĻŋāĻ¤ā§‡ āĻ…āĻ¨ā§āĻ¯āĻ¤ā§āĻ° āĻ•āĻ­āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡) āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻžāĻ° āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ¨ āĻ•āĻ°ā§āĻ¨
āĻ¨āĻ¤ā§āĻ¨ āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨āĨ¤

āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨
ns-3 āĻĻā§āĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻ•āĻ°ā§‡: āĻāĻ•ā§āĻ¸āĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋ "āĻ‡āĻ‰āĻœāĻžāĻ°-āĻ—āĻžāĻ‡āĻĄ"-āĻ¸ā§āĻŸāĻžāĻ‡āĻ˛ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ, āĻāĻŦāĻ‚
āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ•ā§‹āĻĄ API āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨āĨ¤

"āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€-āĻ—āĻžāĻ‡āĻĄ" āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧāĻ—ā§āĻ˛āĻŋ āĻšāĻžāĻ¤ā§‡ āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧā§ˇ reStructuredText āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ (.āĻĒā§āĻ°āĻĨāĻŽ), āĻ¯āĻž āĻšāĻ˛ā§‹
āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•ā§ƒāĻ¤ āĻ¸ā§āĻĒāĻŋāĻ‚āĻ•ā§āĻ¸ āĻ“āĻ¯āĻŧā§‡āĻŦ āĻĒā§‡āĻœ āĻāĻŦāĻ‚ āĻĒāĻŋāĻĄāĻŋāĻāĻĢ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡āĨ¤
API āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ•ā§‹āĻĄ āĻĨā§‡āĻ•ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ…āĻ•ā§āĻ¸āĻŋāĻœā§‡āĻ¨, āĻ‰ā§ŽāĻĒāĻžāĻĻāĻ¨ āĻ•āĻ°āĻ¤ā§‡
āĻ•ā§āĻ°āĻ¸ āĻ˛āĻŋāĻ™ā§āĻ• āĻ•āĻ°āĻž āĻ“āĻ¯āĻŧā§‡āĻŦ āĻĒā§‡āĻœāĨ¤ āĻāĻ‡ āĻĻā§āĻŸāĻŋāĻ‡ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ: āĻ¸ā§āĻĢāĻŋāĻ™ā§āĻ•āĻ¸ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻž āĻ•āĻ°ā§‡ āĻ•ā§‡āĻ¨
āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻŽāĻĄā§‡āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ“āĻ­āĻžāĻ°āĻ­āĻŋāĻ‰; API āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻž āĻ•āĻ°ā§‡ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻŦāĻŋāĻŦāĻ°āĻŖāĨ¤

āĻāĻ‡ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧāĻŸāĻŋ āĻāĻ‡ āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽāĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻĻā§āĻ°ā§āĻ¤ āĻ“āĻ­āĻžāĻ°āĻ­āĻŋāĻ‰ āĻĻā§‡āĻ¯āĻŧ, āĻĒāĻ›āĻ¨ā§āĻĻā§‡āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻ‰āĻĒāĻ° āĻœā§‹āĻ° āĻĻā§‡āĻ¯āĻŧ āĻāĻŦāĻ‚
āĻœāĻ¨ā§āĻ¯ āĻ•āĻžāĻ¸ā§āĻŸāĻŽāĻžāĻ‡āĻœā§‡āĻļāĻ¨ ns-3.

āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡:

$ ./waf āĻĄāĻ•ā§āĻ¸

āĻ†āĻ°ā§‹ āĻŦāĻŋāĻļā§‡āĻˇ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻœāĻ¨ā§āĻ¯, āĻĒāĻĄāĻŧā§āĻ¨.

āĻĻāĻ˛āĻŋāĻ˛ āĻ¸āĻ™ā§āĻ—ā§‡ āĻ¸ā§āĻĒāĻŋāĻ‚āĻ•ā§āĻ¸
āĻ†āĻŽāĻ°āĻž āĻŦā§āĻ¯āĻžāĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋ āĻ¸ā§āĻĒāĻŋāĻ‚āĻ•ā§āĻ¸ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋāĻ° āĻ¨āĻ•āĻļāĻž āĻāĻŦāĻ‚ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°ā§‡ āĻāĻ•ā§āĻ¸āĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡
āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻāĻ‡ āĻŽā§āĻšā§‚āĻ°ā§āĻ¤ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻĒāĻĄāĻŧāĻ›ā§‡āĻ¨ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ. āĻĻā§āĻ¯ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ā§€ āĻ‰ā§ŽāĻ¸ āĻ˛āĻŋāĻ™ā§āĻ•
āĻ¸āĻžāĻ‡āĻĄāĻŦāĻžāĻ° āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻ‡ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ¨āĻ°ā§āĻ—āĻ āĻŋāĻ¤ āĻĒāĻžāĻ ā§āĻ¯ āĻ‰āĻ¤ā§āĻ¸ āĻĻā§‡āĻ–āĻžāĻŦā§‡āĨ¤

āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ
āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻ§āĻžāĻĒ āĻ˛āĻžāĻ—ā§‡ (āĻ¨ā§€āĻšā§‡ āĻ†āĻ°āĻ“ āĻŦāĻŋāĻļāĻĻā§‡ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡):

1āĨ¤ āĻšāĻ¯āĻŧāĻ¨ āĻ•āĻ°ā§āĻ¨ āĻ•ā§‹āĻĨāĻžāĻ¯āĻŧ? āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻĢāĻžāĻ‡āĻ˛(āĻ—ā§āĻ˛āĻŋ) āĻ˛āĻžāĻ‡āĻ­ āĻšāĻŦā§‡āĨ¤

2. āĻ˛āĻŋāĻ‚āĻ• āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻĒā§ƒāĻˇā§āĻ āĻž āĻĨā§‡āĻ•ā§‡ āĻ¨āĻ¤ā§āĻ¨ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ā§‡āĨ¤

3. āĻ¨āĻ¤ā§āĻ¨ āĻĢāĻžāĻ‡āĻ˛ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ Makefile āĻ¨āĻžāĻŽāĻ•.

āĻ•ā§‹āĻĨāĻžāĻ¯āĻŧ?
āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨, foo āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸, āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ¯ā§‡āĻ¤ā§‡ āĻšāĻŦā§‡ src/foo/doc/āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ
src/foo/doc/foo.rst āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻļā§€āĻ°ā§āĻˇ-āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻ¨āĻĨāĻŋ āĻšāĻŦā§‡āĨ¤ āĻĻā§āĻ¯
src/create-module.py āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ†āĻĒāĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ‡ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦā§‡āĨ¤

āĻ•āĻŋāĻ›ā§ āĻŽāĻĄā§‡āĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ .āĻĒā§āĻ°āĻĨāĻŽ āĻĢāĻžāĻ‡āĻ˛, āĻāĻŦāĻ‚ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨; āĻāĻ‡ āĻ¸āĻŦ āĻ¯ā§‡āĻ¤ā§‡ āĻšāĻŦā§‡
src/foo/doc/ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻĄāĻ•ā§āĻ¸ āĻ†āĻ¸āĻ˛ā§‡ āĻāĻ•āĻŸāĻŋ Sphinx Makefile āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻšāĻ¯āĻŧ. āĻŦāĻŋāĻļā§‡āĻˇ āĻ•āĻ°ā§‡ āĻœāĻ¨ā§āĻ¯
āĻœāĻĄāĻŧāĻŋāĻ¤ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨, āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧ āĻ†āĻ›ā§‡ āĻ¸āĻšāĻžāĻ¯āĻŧāĻ• āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ Makefile āĻ¨āĻžāĻŽāĻ• āĻŽāĻ§ā§āĻ¯ā§‡ src/foo/doc/
āĻāĻ‡ āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻ¸āĻšāĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ (āĻļā§āĻ™ā§āĻ— āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ)āĨ¤
āĻāĻŸāĻŋ āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻ•āĻ°āĻž āĻŦāĻŋāĻļā§‡āĻˇāĻ­āĻžāĻŦā§‡ āĻ•āĻ āĻŋāĻ¨ āĻ¨āĻ¯āĻŧ, āĻ¤āĻŦā§‡ āĻāĻ‡ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧā§‡āĻ° āĻ¸ā§āĻ¯ā§‹āĻ—ā§‡āĻ° āĻŦāĻžāĻ‡āĻ°ā§‡āĨ¤

āĻ•āĻŋāĻ›ā§ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻŽāĻĄā§‡āĻ˛ āĻŦāĻŋāĻ¸ā§āĻ¤ā§ƒāĻ¤; āĻĻā§āĻ¯ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ. āĻ­āĻŋāĻ¤āĻ°ā§‡
āĻāĻ‡ āĻŽāĻžāĻŽāĻ˛āĻž āĻ¯ā§‹āĻ— .āĻĒā§āĻ°āĻĨāĻŽ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻĄāĻ•/āĻŽāĻĄā§‡āĻ˛/āĻ‰ā§ŽāĻ¸/ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ˛āĻŋāĻ‚āĻ•
āĻ¸ā§āĻĢāĻŋāĻ‚āĻ¸āĻ•ā§‡ āĻœāĻžāĻ¨āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ•ā§‹āĻĨāĻžāĻ¯āĻŧ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻšāĻŦā§‡. āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻĄā§‡āĻ˛
āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻšāĻŦā§‡ āĻŽāĻĄā§‡āĻ˛ āĻŦāĻ‡ āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡, āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻ•āĻ°ā§āĻ¨
doc/models/source/index.rst

.. āĻŸāĻ•āĻŸā§āĻ°āĻŋ::
: āĻ¸āĻ°ā§āĻŦā§‹āĻšā§āĻš āĻ—āĻ­ā§€āĻ°āĻ¤āĻž: 1

āĻ¸āĻ‚āĻ—āĻ āĻ¨
āĻ…ā§āĻ¯āĻžāĻ¨āĻŋāĻŽā§‡āĻļāĻ¨
āĻļā§āĻ™ā§āĻ—
aodv
āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨
...

āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻĨāĻŋāĻ° āĻ¨āĻžāĻŽ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ (āĻŦā§āĻ¯āĻ¤ā§€āĻ¤ .āĻĒā§āĻ°āĻĨāĻŽ āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨) āĻāĻ‡ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ¯āĻŧāĨ¤ āĻ°āĻžāĻ–ā§āĻ¨
āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧāĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ­āĻŋāĻœā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ˛ āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ¨āĻŋāĻ‚ āĻ¸āĻšāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻŦāĻ°ā§āĻŖāĻžāĻ¨ā§āĻ•ā§āĻ°āĻŽāĻŋāĻ• āĻ•ā§āĻ°āĻŽā§‡ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧāĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻĄā§‡āĻ˛ āĻ•āĻ°ā§āĻ¨ā§ˇ

Makefile āĻ¨āĻžāĻŽāĻ•
āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻĨāĻŋāĻŸāĻŋ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤āĻŸāĻŋāĻ¤ā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ Makefile āĻ¨āĻžāĻŽāĻ•, āĻ¤āĻžāĻ‡ āĻ•āĻ°āĻž āĻāĻŸāĻž āĻšā§‡āĻ• āĻ•āĻ°āĻ¤ā§‡ āĻœāĻžāĻ¨ā§‡
āĻ†āĻĒāĻĄā§‡āĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯āĨ¤ āĻŽāĻĄā§‡āĻ˛ āĻŦāĻ‡ āĻŽā§‡āĻ•āĻĢāĻžāĻ‡āĻ˛ āĻšāĻ¯āĻŧ āĻĄāĻ•/āĻŽāĻĄā§‡āĻ˛/āĻŽā§‡āĻ•āĻĢāĻžāĻ‡āĻ˛, āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛ āĻŦāĻ‡ Makefile āĻšāĻ¯āĻŧ
āĻĄāĻ•/āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛/āĻŽā§‡āĻ•āĻĢāĻžāĻ‡āĻ˛.

# āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŽāĻĄā§‡āĻ˛ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ .rst āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ•āĻ°ā§āĻ¨ āĻ¯āĻž $SOURCETEMP-āĻ āĻ•āĻĒāĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡
āĻ¸ā§‚āĻ¤ā§āĻ° = \
source/conf.py \
āĻ‰ā§ŽāĻ¸/_āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• \
source/index.rst \
source/replace.txt \
source/organization.rst \
...
$(SRC)/antenna/doc/source/antenna.rst \
...

āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ .āĻĒā§āĻ°āĻĨāĻŽ āĻĢāĻžāĻ‡āĻ˛ āĻ‰āĻ¤ā§āĻ¸ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡, āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻĒāĻĄāĻŧā§āĻ¨
Makefile āĻ¨āĻžāĻŽāĻ• āĻ•ā§‹āĻ¨ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ‡āĻŽā§‡āĻœ āĻĢāĻžāĻ‡āĻ˛ āĻĨāĻžāĻ•āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ¤āĻž āĻĻā§‡āĻ–āĻ¤ā§‡āĨ¤ āĻ†āĻŦāĻžāĻ°, āĻāĻ‡ āĻ°āĻžāĻ–ā§āĻ¨
āĻŦāĻ°ā§āĻ¨āĻžāĻ¨ā§āĻ•ā§āĻ°āĻŽā§‡.

āĻ­āĻŦāĻ¨ āĻ¸ā§āĻĒāĻŋāĻ‚āĻ•ā§āĻ¸ āĻĄāĻ•ā§āĻ¸
āĻ¸ā§āĻĢāĻŋāĻ‚āĻ¸ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻŦā§‡āĻļ āĻ¸āĻšāĻœāĨ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸ā§āĻĢāĻŋāĻ‚āĻ•ā§āĻ¸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡
āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨:

$ ./waf āĻ¸ā§āĻĢāĻŋāĻ‚āĻ•ā§āĻ¸

āĻļā§āĻ§ā§ āĻŽāĻĄā§‡āĻ˛ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡:

$ āĻŽā§‡āĻ• -āĻ¸āĻŋ āĻĄāĻ•/āĻŽāĻĄā§‡āĻ˛

āĻ‰āĻ¤ā§āĻĒāĻ¨ā§āĻ¨ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ° āĻ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ doc/models/build/html.

āĻ†āĻĒāĻ¨āĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻšā§āĻ›ā§‡āĻ¨, āĻ¸ā§āĻĢāĻŋāĻ‚āĻ¸ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋ āĻ—āĻžāĻ‡āĻĄ āĻ•āĻ°āĻ¤ā§‡ āĻŽā§‡āĻ• āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŸāĻžāĻ°ā§āĻ—ā§‡āĻŸ āĻ¸āĻŦ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡
āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĢāĻ°ā§āĻŽ, āĻ¯āĻž ns-3 āĻŽāĻžāĻ˛ā§āĻŸāĻŋ āĻĒā§ƒāĻˇā§āĻ āĻž āĻšāĻ¯āĻŧ āĻāĻ‡āĻšāĻŸāĻŋāĻāĻŽāĻāĻ˛, āĻāĻ• āĻĒāĻžāĻ¤āĻž āĻāĻ•āĻ• āĻāĻ‡āĻšāĻŸāĻŋāĻāĻŽāĻāĻ˛, āĻāĻŦāĻ‚
āĻĒāĻŋāĻĄāĻŋāĻāĻĢ (āĻ•ā§āĻˇā§€āĻ°) āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŽāĻžāĻ˛ā§āĻŸāĻŋ-āĻĒā§ƒāĻˇā§āĻ āĻž āĻāĻ‡āĻšāĻŸāĻŋāĻāĻŽāĻāĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ āĻāĻ‡āĻšāĻŸāĻŋāĻāĻŽāĻāĻ˛ āĻ˛āĻ•ā§āĻˇā§āĻ¯:

$ make -C doc/models html

āĻāĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻŽāĻ¤ā§‹ āĻŦāĻŋāĻ˛ā§āĻĄ āĻŸāĻžāĻ‡āĻŽ (āĻāĻŦāĻ‚ āĻŦāĻŋāĻ˛ā§āĻĄ āĻšā§āĻ¯āĻžāĻŸāĻžāĻ°ā§‡āĻ° āĻ†āĻ•āĻžāĻ°) āĻ•āĻŽāĻžāĻ¤ā§‡ āĻ¸āĻšāĻžāĻ¯āĻŧāĻ• āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ¤ā§‹āĻŽāĻžāĻ° āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ āĻ˛āĻŋāĻ–āĻ›āĻŋāĨ¤

āĻ°ā§‡āĻĒā§‹āĻ¤ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻĻā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻ†āĻ—ā§‡, āĻ…āĻ¨ā§āĻ—ā§āĻ°āĻš āĻ•āĻ°ā§‡ āĻšā§‡āĻ• āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡ āĻāĻŸāĻŋ āĻ›āĻžāĻĄāĻŧāĻž āĻ¤ā§ˆāĻ°āĻŋ āĻšāĻ¯āĻŧ
āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻŦāĻž āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻžāĨ¤ āĻŦāĻŋāĻ˛ā§āĻĄ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋ āĻĒā§āĻ°āĻšā§āĻ° āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡ (āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ—āĻ‡ āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ• āĻŦāĻ•āĻŦāĻ•
LaTeX āĻĨā§‡āĻ•ā§‡), āĻ¯āĻž āĻ•ā§‹āĻ¨ āĻ¸ā§āĻĢāĻŋāĻ™ā§āĻ•āĻ¸ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻ†āĻ›ā§‡ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻĻā§‡āĻ–āĻž āĻ•āĻ āĻŋāĻ¨ āĻ•āĻ°ā§‡ āĻ¤ā§āĻ˛āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻāĻŦāĻ‚ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ–ā§āĻāĻœā§‡ āĻĒā§‡āĻ¤ā§‡ āĻļā§āĻ§ā§ āĻŦāĻŋāĻ˛ā§āĻĄ āĻāĻ‡āĻšāĻŸāĻŋāĻāĻŽāĻāĻ˛ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ, āĻ¤āĻžāĻ°āĻĒāĻ° āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻ•āĻ°ā§āĻ¨
āĻœāĻ¨ā§āĻ¯ āĻŦāĻŋāĻ˛ā§āĻĄ āĻ˛āĻ— āĻ¸āĻ¤āĻ°ā§āĻ•āĻŦāĻžāĻ°ā§āĻ¤āĻž or āĻ­ā§āĻ˛.

ns-3 āĻ¸ā§āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ
āĻ¸ā§āĻĒāĻŋāĻ‚āĻ•ā§āĻ¸ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻāĻŦāĻ‚ āĻ…āĻ­āĻŋāĻ­āĻžāĻŦāĻ•āĻ¸āĻ‚āĻŦāĻāĻ§ā§€āĻ¯āĻŧ āĻŦā§‡āĻļ āĻ­āĻžāĻ˛ā§‹ āĻ†āĻŽāĻ°āĻž āĻŦā§‡āĻ¸āĻŋāĻ•āĻ—ā§āĻ˛āĻŋ āĻ¨āĻ•āĻ˛ āĻ•āĻ°āĻŦ āĻ¨āĻž
āĻāĻ–āĻžāĻ¨ā§‡, āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻĒāĻ›āĻ¨ā§āĻĻā§‡āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻ‰āĻĒāĻ° āĻĢā§‹āĻ•āĻžāĻ¸ āĻ•āĻ°āĻž ns-3.

āĻāĻ‡ āĻĻā§āĻŸāĻŋ āĻ˛āĻžāĻ‡āĻ¨ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ¨āĻĨāĻŋ āĻļā§āĻ°ā§ āĻ•āĻ°ā§āĻ¨:

.. āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤:: replace.txt
.. āĻšāĻžāĻ‡āĻ˛āĻžāĻ‡āĻŸ:: cpp

āĻĒā§āĻ°āĻĨāĻŽ āĻ˛āĻžāĻ‡āĻ¨ āĻ•āĻŋāĻ›ā§ āĻ¸āĻšāĻœ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§‡āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻŸāĻžāĻ‡āĻĒāĻŋāĻ‚ |ns3| āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ°ā§‡āĻ¨ā§āĻĄāĻžāĻ° āĻ•āĻ°ā§‡
ns-3. āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧāĻŸāĻŋ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ•ā§‹āĻĄ āĻšāĻžāĻ‡āĻ˛āĻžāĻ‡āĻŸ āĻ•āĻ°āĻžāĻ° āĻ­āĻžāĻˇāĻžāĻ•ā§‡ āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ­āĻžāĻŦā§‡ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§‡
āĻĢāĻžāĻ‡āĻ˛, āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¸āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻžāĻ¨ āĻ¸āĻŦāĻ¸āĻŽāĻ¯āĻŧ āĻ¸āĻ āĻŋāĻ• āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤ (āĻāĻŸāĻŋ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻžāĻ“ āĻ¸āĻŽā§āĻ­āĻŦ
āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻ•ā§‹āĻĄ āĻŦā§āĻ˛āĻ•ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ­āĻžāĻŦā§‡ āĻ­āĻžāĻˇāĻž, āĻ¨ā§€āĻšā§‡ āĻĻā§‡āĻ–ā§āĻ¨āĨ¤)

¡ āĻŦāĻŋāĻ­āĻžāĻ—:

āĻ¸ā§āĻĢāĻŋāĻ‚āĻ¸ āĻŦāĻŋāĻ­āĻžāĻ— āĻļāĻŋāĻ°ā§‹āĻ¨āĻžāĻŽ āĻšāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§‡ āĻŦā§‡āĻļ āĻ‰āĻĻāĻžāĻ°āĨ¤ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻ…āĻ¨ā§āĻ¸āĻžāĻ°ā§‡, āĻ†āĻŽāĻ°āĻž āĻāĻŸāĻŋ āĻĒāĻ›āĻ¨ā§āĻĻ āĻ•āĻ°āĻŋ
āĻ…āĻ¨ā§āĻ•ā§āĻ°āĻŽ:

.. āĻļāĻŋāĻ°ā§‹āĻ¨āĻžāĻŽ āĻ…āĻ¨ā§āĻ•ā§āĻ°āĻŽ:
------------- āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ
************* āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ (#.#)
============= āĻ‰āĻĒāĻ§āĻžāĻ°āĻž (#.#.#)
############## āĻ‰āĻĒ-āĻ‰āĻĒāĻ§āĻžāĻ°āĻž

āĻ¸āĻŋāĻ¨āĻŸā§āĻ¯āĻžāĻ•ā§āĻ¸ āĻšāĻžāĻ‡āĻ˛āĻžāĻ‡āĻŸāĻŋāĻ‚:

āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻ¸āĻŋāĻ¨āĻŸā§āĻ¯āĻžāĻ•ā§āĻ¸ āĻšāĻžāĻ‡āĻ˛āĻžāĻ‡āĻŸāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡, āĻ•ā§‡āĻŦāĻ˛ āĻāĻ•āĻŸāĻŋ āĻ¸ā§‹āĻ°ā§āĻ¸āĻ•ā§‹āĻĄ āĻŦā§āĻ˛āĻ• āĻļā§āĻ°ā§ āĻ•āĻ°ā§āĻ¨:

┌ ────────────────────────────────────
│Sphinx āĻ‰āĻ¤ā§āĻ¸ │ āĻ°ā§‡āĻ¨ā§āĻĄāĻžāĻ° āĻ•āĻ°āĻž āĻ†āĻ‰āĻŸāĻĒā§āĻŸ │
├ ────────────────────────────────────
│ │ āĻĻ āĻĢā§āĻ°āĻŦāĻ¨āĻŋāĻŸāĻœ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ: │
│ ``Frobnitz`` āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°ā§‡:: │ │
│ │ Foo::Frobnitz frob; │
│ Foo::Frobnitz frob; │ frob.Set (...); │
│ frob.Set (...); │ │
└ ───────────────────────────────────

āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¸āĻŋāĻ¨āĻŸā§āĻ¯āĻžāĻ•ā§āĻ¸ āĻšāĻžāĻ‡āĻ˛āĻžāĻ‡āĻŸāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ¸āĻœā§‹āĻ°ā§‡ āĻ†āĻ˜āĻžāĻ¤ āĻļā§‡āĻ˛ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ:

┌ ───┐
│Sphinx āĻ‰āĻ¤ā§āĻ¸ │ āĻ°ā§‡āĻ¨ā§āĻĄāĻžāĻ° āĻ•āĻ°āĻž āĻ†āĻ‰āĻŸāĻĒā§āĻŸ │
├ ───┤
│ │ │
│ .. āĻ¸ā§‹āĻ°ā§āĻ¸āĻ•ā§‹āĻĄ:: bash │ $ls │
│ │ │
│ $ls │ │
└ ───┘

¡ āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻ¸ā§āĻŦāĻ°āĻ˛āĻŋāĻĒāĻŋ:

āĻāĻ‡ āĻļāĻ°ā§āĻŸāĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ—ā§āĻ˛āĻŋ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡:

┌────└───────────────────────────
│Sphinx āĻ‰āĻ¤ā§āĻ¸ │ āĻ°ā§‡āĻ¨ā§āĻĄāĻžāĻ° āĻ•āĻ°āĻž āĻ†āĻ‰āĻŸāĻĒā§āĻŸ │
├────────────────────────────â”ŧ─────â”ŧ────
│ │ ns-3 │
│ |ns3| │ │
├────────────────────────────â”ŧ─────â”ŧ────
│ │ ns-2 │
│ |ns2| │ │
├────────────────────────────â”ŧ─────â”ŧ────
│ │ │
│ |āĻšā§‡āĻ•| │ │
├────────────────────────────â”ŧ─────â”ŧ────
│ │ āĻœāĻ¨ā§āĻ¯ RFC 6282 │
│ :rfc:`6282` │ │
└────────────────────────────┴┘

āĻĻāĻ˛āĻŋāĻ˛ āĻ¸āĻ™ā§āĻ—ā§‡ āĻ…āĻ•ā§āĻ¸āĻŋāĻœā§‡āĻ¨
āĻ†āĻŽāĻ°āĻž āĻŦā§āĻ¯āĻžāĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋ āĻ…āĻ•ā§āĻ¸āĻŋāĻœā§‡āĻ¨ āĻ‰ā§ŽāĻĒāĻžāĻĻāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ°āĻžāĻ‰āĻœāĻ¯ā§‹āĻ—ā§āĻ¯ API āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨āĨ¤ āĻĄāĻ•ā§āĻ¸āĻŋāĻœā§‡āĻ¨ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡
āĻĻāĻ°āĻ•āĻžāĻ°ā§€ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯:

¡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻļā§āĻ°ā§‡āĻŖā§€āĻ° āĻ¸āĻĻāĻ¸ā§āĻ¯āĻĻā§‡āĻ° āĻ¸āĻžāĻ°āĻ¸āĻ‚āĻ•ā§āĻˇā§‡āĻĒ āĻŸā§‡āĻŦāĻŋāĻ˛āĨ¤

āĻ¸āĻŦ āĻļā§āĻ°ā§‡āĻŖā§€āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ° āĻāĻŦāĻ‚ āĻ¸āĻšāĻ¯ā§‹āĻ—āĻŋāĻ¤āĻžāĻ° āĻ—ā§āĻ°āĻžāĻĢāĨ¤

āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ•ā§‹āĻĄā§‡āĻ° āĻ˛āĻŋāĻ™ā§āĻ• āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°ā§‡āĨ¤

¡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻœāĻžāĻ¯āĻŧāĻ—āĻžāĻ° āĻ˛āĻŋāĻ™ā§āĻ• āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻ•āĻœāĻ¨ āĻ¸āĻĻāĻ¸ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ˛āĻŋāĻ™ā§āĻ•āĨ¤

¡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻ—ā§āĻ°ā§āĻĒāĻŋāĻ‚, āĻ¯ā§‡āĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ•ā§āĻ˛āĻžāĻ¸āĨ¤

āĻ‰āĻĒāĻ°āĻ¨ā§āĻ¤ā§, āĻ†āĻŽāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻŸāĻžāĻ‡āĻĒāĻ†āĻ‡āĻĄāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻļā§āĻ°ā§‡āĻŖā§€āĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ

¡ āĻĻā§āĻ¯ āĻ•āĻ¨āĻĢāĻŋāĻ— āĻĒāĻĨ āĻ¯āĻž āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻŦāĻ¸ā§āĻ¤ā§ āĻĒā§ŒāĻāĻ›āĻžāĻ¨ā§‹ āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

¡ āĻ¯ā§‡ āĻ•ā§‹āĻ¨ā§‹ āĻœāĻ¨ā§āĻ¯ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻ†āĻ°ā§‹āĻĒ āĻ•āĻ°āĻžāĻ¸āĻš āĻ†āĻ°ā§‹āĻĒ āĻ•āĻ°āĻž āĻ…āĻ­āĻŋāĻ­āĻžāĻŦāĻ• āĻ•ā§āĻ˛āĻžāĻ¸ā§‡ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤āĨ¤

¡ āĻ¯ā§‡ āĻ•ā§‹āĻ¨ā§‹ āĻœāĻ¨ā§āĻ¯ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻšāĻŋāĻšā§āĻ¨ āĻļā§āĻ°ā§‡āĻŖā§€ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ‰āĻ¤ā§āĻ¸āĨ¤

āĻĄāĻ•ā§āĻ¸āĻŋāĻœā§‡āĻ¨ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ•ā§‹āĻĄ āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ¨ āĻ•āĻ°ā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡, āĻŦāĻŋāĻļā§‡āĻˇāĻ­āĻžāĻŦā§‡ āĻšāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻ–ā§‹āĻāĻœā§‡āĨ¤ āĻāĻŸāĻž
āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻ°āĻ¸ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡, āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°ā§‡ āĻ•ā§‹āĻĨāĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛, āĻ•ā§āĻ˛āĻžāĻ¸, āĻĒāĻĻā§āĻ§āĻ¤āĻŋ, āĻāĻŦāĻ‚ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛ āĻšāĻ¯āĻŧ
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻĒāĻ›āĻ¨ā§āĻĻā§‡āĻ° āĻļā§ˆāĻ˛ā§€
āĻĄāĻ•ā§āĻ¸āĻŋāĻœā§‡āĻ¨ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻ›āĻ¨ā§āĻĻā§‡āĻ° āĻļā§ˆāĻ˛ā§€ āĻšāĻ˛ JavaDoc āĻļā§ˆāĻ˛ā§€:

/ **
* āĻāĻ‡ āĻ•ā§āĻ˛āĻžāĻ¸ āĻŦāĻž āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻŦāĻŋāĻŦāĻ°āĻŖāĨ¤
* āĻ¸āĻ‚āĻ˛āĻ—ā§āĻ¨ āĻ˛āĻžāĻ‡āĻ¨āĻ—ā§āĻ˛āĻŋ āĻāĻ•āĻ• āĻ…āĻ¨ā§āĻšā§āĻ›ā§‡āĻĻā§‡ āĻĒāĻ°āĻŋāĻŖāĻ¤ āĻšāĻ¯āĻŧāĨ¤
*
* āĻĻā§€āĻ°ā§āĻ˜ āĻŦāĻŋāĻŦāĻ°āĻŖ, āĻĒā§āĻ°āĻšā§āĻ° āĻŦāĻŋāĻŦāĻ°āĻŖ āĻ¸āĻšāĨ¤
*
* āĻĢāĻžāĻāĻ•āĻž āĻ˛āĻžāĻ‡āĻ¨ āĻĒā§ƒāĻĨāĻ• āĻ…āĻ¨ā§āĻšā§āĻ›ā§‡āĻĻ.
*
* āĻ•ā§āĻ˛āĻžāĻ¸ āĻŦāĻž āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ•ā§€ āĻ•āĻ°ā§‡, āĻ•ā§€ āĻ…ā§āĻ¯āĻžāĻ˛āĻ—āĻ°āĻŋāĻĻāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¤āĻž āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻž āĻ•āĻ°ā§āĻ¨āĨ¤
* āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻāĻ•āĻ• āĻāĻŦāĻ‚ āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻŽāĻžāĻ¨ā§‡āĻ° āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻž āĻ•āĻ°āĨ¤
*
* \note āĻ¯ā§‡āĻ•ā§‹āĻ¨ āĻ¸ā§€āĻŽāĻžāĻŦāĻĻā§āĻ§āĻ¤āĻž āĻŦāĻž āĻ—ā§‹āĻ›āĻž āĻ¨ā§‹āĻŸ āĻ•āĻ°ā§āĻ¨āĨ¤
*
* (āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻ¸āĻš āĻĢāĻžāĻ‚āĻļāĻ¨ āĻŦāĻž āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻŽā§‚āĻ˛ā§āĻ¯āĻŦāĻžāĻ¨:)
* \param foo āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻŦāĻŋāĻļā§‡āĻˇā§āĻ¯ āĻŦāĻžāĻ•ā§āĻ¯āĻžāĻ‚āĻļ āĻāĻ‡ āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°ā§‡āĨ¤
* \param āĻŦāĻžāĻ° āĻ¨ā§‹āĻŸ āĻŦāĻžāĻ•ā§āĻ¯āĻžāĻ‚āĻļ, āĻāĻŦāĻ‚ āĻ¸āĻŽāĻžāĻĒā§āĻ¤āĻŋ āĻ¸āĻŽāĻ¯āĻŧāĻ•āĻžāĻ˛āĨ¤
* \return āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻŦāĻŋāĻļā§‡āĻˇā§āĻ¯ āĻŦāĻžāĻ•ā§āĻ¯āĻžāĻ‚āĻļ āĻŽāĻžāĻ¨ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°ā§‡āĨ¤
*
* \ āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ
*
* āĻ†āĻĒāĻ¨āĻŋ āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻŦāĻŋāĻļāĻĻ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤
* āĻāĻ‡ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻŦā§āĻāĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻŦā§‡ āĻ¨āĻž
* āĻ•ā§āĻ˛āĻžāĻ¸ āĻŦāĻž āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĨ¤
*/
āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ

āĻāĻ‡ āĻļā§ˆāĻ˛ā§€āĻ¤ā§‡ āĻĄāĻ•ā§āĻ¸āĻŋāĻœā§‡āĻ¨ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻŦā§āĻ˛āĻ• āĻĻā§āĻŸāĻŋ `*' āĻ…āĻ•ā§āĻˇāĻ° āĻĻāĻŋāĻ¯āĻŧā§‡ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧ: / **, āĻāĻŦāĻ‚ āĻĒā§‚āĻ°ā§āĻŦā§‡
āĻ†āĻ‡āĻŸā§‡āĻŽ āĻ¨āĻĨāĻŋāĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡.

āĻ†āĻ‡āĻŸā§‡āĻŽāĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻŦāĻŋāĻŦāĻ°āĻŖā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨, āĻāĻ‡ āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻĢāĻ°ā§āĻŽāĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤:

/** āĻ§ā§āĻŦāĻ‚āĻ¸āĻ•āĻžāĻ°ā§€ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨āĨ¤ */
void DoDispose ();

int m_count; //!< āĻ—āĻŖāĻ¨āĻž ...

āĻ˛āĻžāĻ‡āĻ¨ā§‡āĻ° āĻļā§‡āĻˇ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ā§‡āĻ° āĻŦāĻŋāĻļā§‡āĻˇ āĻ°ā§‚āĻĒāĻŸāĻŋ āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°ā§āĻ¨, //!, āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻāĻŸāĻŋ āĻŦā§‹āĻāĻžāĻ¯āĻŧ
āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§€ āĻ†āĻ‡āĻŸā§‡āĻŽ.

āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–ā§āĻ¯ āĻ•āĻŋāĻ›ā§ āĻ†āĻ‡āĻŸā§‡āĻŽ:

āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻŽā§‚āĻ˛āĻ§āĻ¨ āĻ¸āĻš āĻŦāĻžāĻ•ā§āĻ¯ā§‡āĻ° āĻ•ā§‡āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨āĨ¤

¡ āĻŦāĻŋāĻ°āĻžāĻŽ āĻšāĻŋāĻšā§āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨, āĻŦāĻŋāĻļā§‡āĻˇ āĻ•āĻ°ā§‡ āĻŦāĻžāĻ•ā§āĻ¯ āĻŦāĻž āĻŦāĻžāĻ•ā§āĻ¯āĻžāĻ‚āĻļā§‡āĻ° āĻļā§‡āĻˇā§‡ `.'

¡ āĻĻā§āĻ¯ \āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻŸā§āĻ¯āĻžāĻ— āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¨ā§‡āĻ‡; āĻĒā§āĻ°āĻĨāĻŽ āĻŦāĻžāĻ•ā§āĻ¯āĻŸāĻŋ āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻŦā§‡
āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĨ¤

āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸, āĻĒāĻĻā§āĻ§āĻ¤āĻŋ, āĻŸāĻžāĻ‡āĻĒāĻĄā§‡āĻĢ, āĻ¸āĻĻāĻ¸ā§āĻ¯ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛, āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻāĻŦāĻ‚ āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻŽāĻžāĻ¨ āĻ‰āĻšāĻŋāĻ¤
āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ•ā§‹āĻĄ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ¨āĻĨāĻŋāĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻŦā§‡ āĻ¯āĻž āĻ†āĻ¨ā§āĻˇā§āĻ āĻžāĻ¨āĻŋāĻ• API āĻ—āĻ āĻ¨ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨
ns-3, āĻ¯ā§‡āĻŽāĻ¨ src/ /āĻŽāĻĄā§‡āĻ˛/*, src/ /āĻ¸āĻšāĻžāĻ¯āĻŧāĻ•/* āĻāĻŦāĻ‚ src/ /āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻ¸/*.
āĻ†āĻ‡āĻŸā§‡āĻŽ āĻœāĻ¨ā§āĻ¯ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ src/ /āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž/* āĻāĻŦāĻ‚ src/ /āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ/* āĻĒāĻ›āĻ¨ā§āĻĻ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ,
āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤

āĻĻāĻ°āĻ•āĻžāĻ°ā§€ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯
āĻ‰āĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ°āĻ¸ā§‚āĻ¤ā§āĻ°ā§‡ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻ¸āĻĻāĻ¸ā§āĻ¯āĻ°āĻž āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻĒāĻŋāĻ¤āĻžāĻŽāĻžāĻ¤āĻžāĻ° āĻ•āĻžāĻ› āĻĨā§‡āĻ•ā§‡ āĻ¨āĻĨāĻŋāĻ° āĻ‰āĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ°ā§€ āĻšāĻŦā§‡, (āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻĻā§āĻŦāĻžāĻ°āĻž)āĨ¤

1. āĻŦā§‡āĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¨āĻĨāĻŋāĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§āĻ¨āĨ¤

2. āĻ¸āĻžāĻŦ āĻ•ā§āĻ˛āĻžāĻ¸ āĻŽāĻžāĻ°ā§āĻ• āĻ‡āĻ¨āĻšā§‡āĻ°āĻŋāĻŸā§‡āĻĄ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻ¸āĻš:

// āĻ‰āĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ°āĻ¸ā§‚āĻ¤ā§āĻ°ā§‡ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ
āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻļā§‚āĻ¨ā§āĻ¯ FooBar (āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°);
āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ int BarFoo (āĻĄāĻžāĻŦāĻ˛ āĻŦāĻžāĻœ);

āĻ¨ā§‹āĻŸ āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡ āĻ¸ā§āĻŦāĻžāĻ•ā§āĻˇāĻ°āĻ—ā§āĻ˛āĻŋ āĻšā§āĻŦāĻšā§ āĻŽāĻŋāĻ˛āĻ¤ā§‡ āĻšāĻŦā§‡, āĻ¤āĻžāĻ‡ āĻ†āĻ¨ā§āĻˇā§āĻ āĻžāĻ¨āĻŋāĻ• āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§āĻ¨ (āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°)

āĻāĻŸāĻŋ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ¨āĻž; āĻĻā§‡āĻ–āĻž GetTypeId, āĻ¨ā§€āĻšā§‡, āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯.

āĻ­āĻŦāĻ¨ āĻ…āĻ•ā§āĻ¸āĻŋāĻœā§‡āĻ¨ āĻĄāĻ•ā§āĻ¸
āĻĄāĻ•ā§āĻ¸āĻŋāĻœā§‡āĻ¨ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻŦā§‡āĻļ āĻ¸āĻšāĻœ:

$./waf āĻĄāĻ•ā§āĻ¸āĻŋāĻœā§‡āĻ¨

āĻāĻŸāĻŋ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡, āĻ¯āĻž āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻŦāĻŋāĻ­āĻžāĻ— āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡
āĻ¸āĻŦ āĻ†āĻ‡āĻŸā§‡āĻŽ, āĻāĻŽāĻ¨āĻ•āĻŋ āĻ¯āĻĻāĻŋ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻŦā§āĻ˛āĻ• āĻ¨āĻž āĻĨāĻžāĻ•ā§‡āĨ¤ āĻāĻ‡ āĻ†āĻ›ā§‡
āĻ…āĻ¨āĻĨāĻŋāĻ­ā§āĻ•ā§āĻ¤ āĻ†āĻ‡āĻŸā§‡āĻŽāĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻĻāĻŽāĻ¨ āĻ•āĻ°āĻžāĻ° āĻĒā§āĻ°āĻ­āĻžāĻŦ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻšāĻŦā§‡
āĻ‰ā§ŽāĻĒāĻ¨ā§āĻ¨ āĻ†āĻ‰āĻŸāĻĒā§āĻŸā§‡āĨ¤

āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻ˛ā§‡āĻ–āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ•ā§‹āĻ¨ āĻ†āĻ‡āĻŸā§‡āĻŽāĻ—ā§āĻ˛āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻšāĻšā§āĻ›ā§‡ āĻ¤āĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻ‡ āĻāĻŸāĻŋ āĻ†āĻ°āĻ“ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°
āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž, āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ…āĻ¨ā§āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡āĨ¤ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĻā§‡āĻ–āĻ¤ā§‡, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨
doc/doxygen.warnings.report.sh āĻ˛āĻŋāĻĒāĻŋ:

$doc/doxygen.warnings.report.sh
āĻ“āĻ¯āĻŧāĻžāĻĢ: 'āĻŦāĻŋāĻ˛ā§āĻĄ' āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻĒā§āĻ°āĻŦā§‡āĻļ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡
...
Waf: āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ›ā§‡āĻĄāĻŧā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž 'āĻŦāĻŋāĻ˛ā§āĻĄ'
'āĻŦāĻŋāĻ˛ā§āĻĄ' āĻ¸āĻĢāĻ˛āĻ­āĻžāĻŦā§‡ āĻļā§‡āĻˇ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (3m24.094s)

āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ¸āĻš āĻĄāĻ•ā§āĻ¸āĻŋāĻœā§‡āĻ¨ āĻĄāĻ•ā§āĻ¸ āĻĒā§āĻ¨āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ... āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ā§ˇ

āĻĄāĻ•ā§āĻ¸āĻŋāĻœā§‡āĻ¨ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻĻāĻ¨
----------------------------------------

(āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ—āĻŖāĻ¨āĻž āĻ¨āĻŋāĻŽā§āĻ¨ āĻ¸ā§€āĻŽāĻžāĨ¤)

āĻŽāĻĄāĻŋāĻ‰āĻ˛/āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž:

āĻ•āĻžāĻ‰āĻ¨ā§āĻŸ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ
----------------------------------------
3844 src/lte/āĻŽāĻĄā§‡āĻ˛
1718 src/wimax/āĻŽāĻĄā§‡āĻ˛
1423 āĻāĻ¸āĻ†āĻ°āĻ¸āĻŋ/āĻ•ā§‹āĻ°/āĻŽāĻĄā§‡āĻ˛
....
138 āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ…āĻ¨āĻĨāĻŋāĻ­ā§āĻ•ā§āĻ¤ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°āĨ¤
----------------------------------------
15765 āĻŽā§‹āĻŸ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž
āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻ¸āĻš 126āĻŸāĻŋ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ

āĻĢāĻžāĻ‡āĻ˛ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž (āĻŦāĻ°ā§āĻŖāĻžāĻ¨ā§āĻ•ā§āĻ°āĻŽāĻŋāĻ•)

āĻ•āĻžāĻ‰āĻ¨ā§āĻŸ āĻĢāĻžāĻ‡āĻ˛
----------------------------------------
17 āĻĄāĻ•/āĻ‡āĻ¨āĻŸā§āĻ°ā§‹āĻ¸ā§āĻĒā§‡āĻ•ā§āĻŸā§‡āĻĄ-āĻĄāĻ•ā§āĻ¸āĻŋāĻœā§‡āĻ¨.āĻāĻ‡āĻš
15āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ/routing/manet-routing-compare.cc
26 āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ/āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨/wifi-example-apps.h
....
----------------------------------------
āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻ¸āĻš 967 āĻĢāĻžāĻ‡āĻ˛

āĻĢāĻžāĻ‡āĻ˛ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž (āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¸ā§‚āĻšāĻ•)

āĻ•āĻžāĻ‰āĻ¨ā§āĻŸ āĻĢāĻžāĻ‡āĻ˛
----------------------------------------
374 src/lte/model/lte-asn1-header.h
280 src/lte/model/lte-rrc-sap.h
262 src/lte/model/lte-rrc-header.h
....
----------------------------------------
āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻ¸āĻš 967 āĻĢāĻžāĻ‡āĻ˛

āĻĄāĻ•ā§āĻ¸āĻŋāĻœā§‡āĻ¨ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻ¸āĻžāĻ°āĻžāĻ‚āĻļ
----------------------------------------
126āĻŸāĻŋ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ
967 āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ
ā§§āĻŸāĻŋ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž

āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻŸāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻĻā§‡āĻ–āĻžāĻ¤ā§‡ āĻāĻŦāĻ‚ āĻ°āĻžāĻ¨ āĻŸāĻžāĻ‡āĻŽ āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡āĨ¤
āĻ†āĻĒāĻ¨āĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻāĻ‡ āĻ˛ā§‡āĻ–āĻžāĻ¯āĻŧ āĻ†āĻŽāĻ°āĻž āĻ†āĻ›ā§‡ a āĻ…āĻ¨ā§‡āĻ• āĻ…āĻ¨āĻĨāĻŋāĻ­ā§āĻ•ā§āĻ¤ āĻ†āĻ‡āĻŸā§‡āĻŽ. āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻĻāĻ¨āĻŸāĻŋ
āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻ•āĻ°ā§‡ src/*/*, āĻāĻŦāĻ‚ āĻĢāĻžāĻ‡āĻ˛ āĻĻā§āĻŦāĻžāĻ°āĻž, āĻŦāĻ°ā§āĻŖāĻžāĻ¨ā§āĻ•ā§āĻ°āĻŽāĻŋāĻ• āĻāĻŦāĻ‚ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ—āĻ¤ āĻ•ā§āĻ°āĻŽā§‡āĨ¤

āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡ āĻœāĻŋāĻ¨āĻŋāĻ¸āĻ—ā§āĻ˛āĻŋ āĻ•āĻŽāĻŋāĻ¯āĻŧā§‡ āĻ†āĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŦāĻ‚ āĻāĻŸāĻŋāĻ•ā§‡ āĻ†āĻ°āĻ“ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻžāĻ¯ā§‹āĻ—ā§āĻ¯ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ā§‡āĻ° āĻœāĻ¨ā§āĻ¯,
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° -h āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻĄāĻ•ā§āĻ¸āĻŋāĻœā§‡āĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻāĻŦāĻ‚ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻāĻŸāĻŋ āĻāĻ•āĻŦāĻžāĻ° āĻšāĻžāĻ˛āĻžāĻ¨
āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻ˛āĻ—, āĻ†āĻĒāĻ¨āĻŋ āĻ•āĻŋāĻ›ā§ āĻ¨āĻž āĻ•āĻ°ā§‡āĻ‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ "āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ°" āĻ¸āĻš āĻ˛āĻ— āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻĄāĻ•ā§āĻ¸āĻŋāĻœā§‡āĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡, āĻ†āĻŦāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ -s āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ†āĻĒāĻ¨āĻŋ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻŦāĻžāĻĻ āĻĻāĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
*/āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ/* āĻ¨āĻĨāĻŋ āĻĒāĻ¤ā§āĻ° (-e āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ), āĻāĻŦāĻ‚/āĻ…āĻĨāĻŦāĻž */āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž/* āĻ¨āĻĨāĻŋ āĻĒāĻ¤ā§āĻ° (-t).

āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻ˛ā§‡āĻ–āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻĻāĻ°āĻ•āĻžāĻ°ā§€ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ -m , āĻ¯āĻž
āĻ°āĻŋāĻĒā§‹āĻ°ā§āĻŸāĻ•ā§‡ āĻļā§āĻ§ā§ āĻĢāĻžāĻ‡āĻ˛ āĻŽā§‡āĻ˛ā§‡ āĻ¸ā§€āĻŽāĻžāĻŦāĻĻā§āĻ§ āĻ•āĻ°āĻŦā§‡ src/ /*, āĻāĻŦāĻ‚ āĻ¸āĻ™ā§āĻ—ā§‡ āĻ°āĻŋāĻĒā§‹āĻ°ā§āĻŸ āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ āĻ•āĻ°ā§āĻ¨
āĻĒā§āĻ°āĻ•ā§ƒāĻ¤ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻ˛āĻžāĻ‡āĻ¨āĨ¤ āĻ¸āĻ™ā§āĻ—ā§‡ āĻŽā§‡āĻļāĻž eth āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻŋ āĻ¯ā§‡ āĻ¸āĻ¤āĻ°ā§āĻ•āĻŦāĻžāĻŖā§€ āĻĢā§‹āĻ•āĻžāĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻœāĻ°ā§āĻ°āĻŋ:

$doc/doxygen.warnings.report.sh -m mesh/helper
...
āĻĄāĻ•ā§āĻ¸āĻŋāĻœā§‡āĻ¨ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻ¸āĻžāĻ°āĻžāĻ‚āĻļ
----------------------------------------
1āĻŸāĻŋ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ
3 āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ
ā§§āĻŸāĻŋ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž

āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ° āĻ•āĻ°āĻž āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž
========================================
src/mesh/helper/dot11s/dot11s-installer.h:72: āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž: ns3::Dot11sStack āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻ¸āĻĻāĻ¸ā§āĻ¯ m_root (āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛) āĻ¨āĻĨāĻŋāĻ­ā§āĻ•ā§āĻ¤ āĻ¨āĻ¯āĻŧāĨ¤
src/mesh/helper/dot11s/dot11s-installer.h:35: āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž: āĻ¸āĻĻāĻ¸ā§āĻ¯āĻĻā§‡āĻ° āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻŸāĻžāĻ‡āĻĒ ns3::Dot11sStack::GetTypeId āĻ¨āĻĨāĻŋāĻ­ā§āĻ•ā§āĻ¤ āĻ¨āĻ¯āĻŧ
src/mesh/helper/dot11s/dot11s-installer.h:56: āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž: āĻ¸āĻĻāĻ¸ā§āĻ¯āĻĻā§‡āĻ° āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻŸāĻžāĻ‡āĻĒ ns3::Dot11sStack::InstallStack āĻ¨āĻĨāĻŋāĻ­ā§āĻ•ā§āĻ¤ āĻ¨āĻ¯āĻŧ
src/mesh/helper/flame/lfame-installer.h:40: āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž: ns3::FlameStack āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻ¸āĻĻāĻ¸ā§āĻ¯ GetTypeId() (āĻĢāĻžāĻ‚āĻļāĻ¨) āĻ¨āĻĨāĻŋāĻ­ā§āĻ•ā§āĻ¤ āĻ¨āĻ¯āĻŧāĨ¤
src/mesh/helper/flame/flame-installer.h:60: āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž: āĻ¸āĻĻāĻ¸ā§āĻ¯āĻĻā§‡āĻ° āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻŸāĻžāĻ‡āĻĒ ns3::FlameStack::InstallStack āĻ¨āĻĨāĻŋāĻ­ā§āĻ•ā§āĻ¤ āĻ¨āĻ¯āĻŧ
src/mesh/helper/mesh-helper.h:213: āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž: āĻ¸āĻĻāĻ¸ā§āĻ¯ m_nāĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ (āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛) āĻ•ā§āĻ˛āĻžāĻ¸ ns3::MeshHelper āĻ¨āĻĨāĻŋāĻ­ā§āĻ•ā§āĻ¤ āĻ¨āĻ¯āĻŧāĨ¤
src/mesh/helper/mesh-helper.h:214: āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž: ns3::MeshHelper āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻ¸āĻĻāĻ¸ā§āĻ¯ m_spreadChannelPolicy (āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛) āĻ¨āĻĨāĻŋāĻ­ā§āĻ•ā§āĻ¤ āĻ¨āĻ¯āĻŧāĨ¤
src/mesh/helper/mesh-helper.h:215: āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž: āĻ¸āĻĻāĻ¸ā§āĻ¯ m_stack (āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛) āĻ•ā§āĻ˛āĻžāĻ¸ ns3::MeshHelper āĻ¨āĻĨāĻŋāĻ­ā§āĻ•ā§āĻ¤ āĻ¨āĻ¯āĻŧāĨ¤
src/mesh/helper/mesh-helper.h:216: āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž: āĻ¸āĻĻāĻ¸ā§āĻ¯ m_stackFactory (āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛) āĻ•ā§āĻ˛āĻžāĻ¸ ns3::MeshHelper āĻ¨āĻĨāĻŋāĻ­ā§āĻ•ā§āĻ¤ āĻ¨āĻ¯āĻŧāĨ¤
src/mesh/helper/mesh-helper.h:209: āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž: āĻ¸āĻĻāĻ¸ā§āĻ¯ā§‡āĻ° āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ ns3::MeshHelper::CreateInterface (āĻ¸āĻŽāĻ¸ā§āĻ¤) āĻ¨āĻĨāĻŋāĻ­ā§āĻ•ā§āĻ¤ āĻ¨āĻ¯āĻŧ
src/mesh/helper/mesh-helper.h:119: āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž: āĻ¸āĻĻāĻ¸ā§āĻ¯ā§‡āĻ° āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ ns3::MeshHelper::SetStandard āĻ¨āĻĨāĻŋāĻ­ā§āĻ•ā§āĻ¤ āĻ¨āĻ¯āĻŧ (āĻ¸āĻŽāĻ¸ā§āĻ¤)

āĻāĻ–āĻ¨ āĻļā§āĻ§ā§ āĻ•ā§‹āĻĄ āĻŦā§‹āĻāĻž, āĻāĻŦāĻ‚ āĻ•āĻŋāĻ›ā§ āĻĄāĻ•ā§āĻ¸ āĻ˛ā§‡āĻ–āĻžāĻ° āĻŦā§āĻ¯āĻžāĻĒāĻžāĻ°!

ns-3 āĻ¸ā§āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ
āĻ¸ā§āĻĢāĻŋāĻ‚āĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯, āĻĄāĻ•ā§āĻ¸āĻŋāĻœā§‡āĻ¨ āĻĄāĻ•ā§āĻ¸ āĻāĻŦāĻ‚ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻŦā§‡āĻļ āĻ­āĻžāĻ˛ā§‹ āĻ†āĻŽāĻ°āĻž āĻ¨āĻ•āĻ˛ āĻ•āĻ°āĻŦ āĻ¨āĻž
āĻāĻ–āĻžāĻ¨ā§‡ āĻŽā§ŒāĻ˛āĻŋāĻ• āĻŦāĻŋāĻˇāĻ¯āĻŧ, āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻĒāĻ›āĻ¨ā§āĻĻā§‡āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻ‰āĻĒāĻ° āĻĢā§‹āĻ•āĻžāĻ¸ āĻ•āĻ°āĻž ns-3.

¡ āĻĄāĻ•ā§āĻ¸āĻŋāĻœā§‡āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ—ā§āĻ°ā§āĻĒ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻ†āĻ‡āĻŸā§‡āĻŽ.

āĻāĻ•āĻŸāĻŋ āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻļāĻŋāĻ°ā§‹āĻ¨āĻžāĻŽā§‡, āĻāĻ•āĻŸāĻŋ Doxgyen āĻ—ā§āĻ°ā§āĻĒ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨:

/ **
* \defgroup foo Foo āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛āĨ¤
*/

āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ āĻļā§āĻ°ā§‡āĻŖā§€āĻ•ā§‡ āĻ—ā§‹āĻˇā§āĻ ā§€āĻ° āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ—āĻ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻšāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻ•āĻ°ā§āĻ¨:

/ **
* \inggroup foo
*
* Foo āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻĒā§āĻ°āĻ•āĻžāĻ°āĨ¤
*/
āĻ•ā§āĻ˛āĻžāĻ¸ Foo

¡ āĻ¤ā§āĻŽāĻŋ āĻ•āĻŋ āĻœāĻžāĻ¨āĻ¤ā§‡ typedefs āĻ†āĻ¨ā§āĻˇā§āĻ āĻžāĻ¨āĻŋāĻ• āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡? āĻāĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§‡
āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻ¸ā§āĻŦāĻžāĻ•ā§āĻˇāĻ°:

/ **
* āĻŦāĻžāĻ° āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¸ā§āĻŦāĻžāĻ•ā§āĻˇāĻ°āĨ¤
*
* \param ale āĻ‡āĻŽā§āĻĒā§‡āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻ†āĻ‰āĻ¨ā§āĻ¸ā§‡ āĻāĻ• āĻĒāĻŋāĻ¨ā§āĻŸ āĻ…ā§āĻ¯āĻžāĻ˛ā§‡āĻ° āĻ†āĻ•āĻžāĻ°āĨ¤
*/
typedef void (* BarCallback)(const int ale);

¡ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ—ā§āĻŖ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ GetTypeId āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋ
āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ āĻ¸āĻĻāĻ¸ā§āĻ¯āĻĻā§‡āĻ° āĻŦāĻŋāĻŦāĻ°āĻŖāĨ¤

¡ āĻ­ā§āĻ˛{298} āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŦāĻžāĻ—āĻœāĻŋāĻ˛āĻžāĻ¯āĻŧ āĻŦāĻžāĻ— 298 āĻāĻ° āĻāĻ•āĻŸāĻŋ āĻ˛āĻŋāĻ™ā§āĻ• āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦā§‡āĨ¤

¡ \pname{foo} āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻŦāĻ°āĻŖ āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻšāĻŦā§‡ foo āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻĒāĻ°āĻŽ foo āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°, āĻāĻŸāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻ•āĻ°ā§‡
āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°āĻ›ā§‡āĻ¨.

¡ \RFC{301} RFC 301 āĻāĻ° āĻāĻ•āĻŸāĻŋ āĻ˛āĻŋāĻ™ā§āĻ• āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦā§‡āĨ¤

¡ āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻŦāĻŋāĻļāĻĻ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤, āĻ¨āĻ¯āĻŧ
āĻ›āĻžāĻĒ āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤ āĻĢāĻžāĻ‚āĻļāĻ¨ (āĻāĻ—ā§āĻ˛āĻŋ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻšāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤!)

āĻ¤ā§āĻšā§āĻ› āĻ¨āĻžāĻŽ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ¨āĻž, āĻ¯ā§‡āĻŽāĻ¨ āĻļā§āĻ°ā§‡āĻŖā§€ AāĻāĻŽāĻ¨āĻ•āĻŋ āĻŸā§‡āĻ¸ā§āĻŸ āĻ¸ā§āĻ¯ā§āĻŸā§‡āĻ“āĨ¤ āĻāĻ‡āĻ—ā§āĻ˛ā§‹
āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¨āĻžāĻŽā§‡āĻ° āĻ†āĻ•ā§āĻˇāĻ°āĻŋāĻ• 'A' āĻāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĻā§ƒāĻˇā§āĻŸāĻžāĻ¨ā§āĻ¤āĻ•ā§‡ āĻ˛āĻŋāĻ™ā§āĻ• āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ°ā§‡āĻ¨ā§āĻĄāĻžāĻ° āĻ•āĻ°āĻžāĨ¤

āĻ‰āĻĒāĻ°ā§‡ āĻ‰āĻ˛ā§āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§‡, āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻĢāĻžāĻ‚āĻļāĻ¨āĻ—ā§āĻ˛āĻŋ āĻāĻ•āĻ‡ āĻĢāĻžāĻ‚āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ā§‡āĻ° āĻ‰āĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ°ā§€ āĻšāĻ¯āĻŧ āĻ¨āĻž
āĻ…āĻ­āĻŋāĻ­āĻžāĻŦāĻ• āĻļā§āĻ°ā§‡āĻŖā§€āĨ¤ ns-3 āĻ•āĻŋāĻ›ā§ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¸āĻ°ā§āĻŦāĻŦā§āĻ¯āĻžāĻĒā§€ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡; āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦāĻŋāĻ¤
āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻŦā§āĻ˛āĻ• āĻšāĻ˛:

¡ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻ•āĻ¨āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•ā§āĻŸāĻ°/āĻĄāĻŋāĻ¸ā§āĻŸā§āĻ°āĻžāĻ•ā§āĻŸāĻ°:

āĻ†āĻŽāĻžāĻ° āĻ•ā§āĻ˛āĻžāĻ¸ (); //!< āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻ•āĻ¨āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•ā§āĻŸāĻ°
~āĻŽāĻžāĻ‡āĻ•ā§āĻ˛āĻžāĻ¸ (); //!< āĻ§ā§āĻŦāĻ‚āĻ¸āĻ•āĻžāĻ°ā§€

¡ āĻĄāĻžāĻŽāĻŋ āĻĄā§‡āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•ā§āĻŸāĻ° āĻāĻŦāĻ‚ āĻĄāĻŋāĻ¸āĻĒā§‹āĻœ:

/** āĻĄāĻžāĻŽāĻŋ āĻ§ā§āĻŦāĻ‚āĻ¸āĻ•āĻžāĻ°ā§€, DoDispose āĻĻā§‡āĻ–ā§āĻ¨āĨ¤ */
~āĻŽāĻžāĻ‡āĻ•ā§āĻ˛āĻžāĻ¸ ();

/** āĻ§ā§āĻŦāĻ‚āĻ¸āĻ•āĻžāĻ°ā§€ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ */
āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° DoDispose ();

¡ GetTypeId:

/ **
* āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨.
* \ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ TypeId āĻĢā§‡āĻ°āĻ¤ āĻĻāĻŋāĻ¨āĨ¤
*/
āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻŸāĻžāĻ‡āĻĒāĻ†āĻ‡āĻĄāĻŋ GetTypeId (āĻ…āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°);

āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻž āĻšāĻ˛ā§‡ āĻ¤āĻž āĻ‰āĻĒāĻ¸ā§‡āĻŸ of ns-3 āĻŽāĻĄāĻŋāĻ‰āĻ˛
āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻŽāĻ¤ā§‹, ns-3 āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ° āĻĒāĻ°āĻŋāĻĒā§āĻ°ā§‡āĻ•ā§āĻˇāĻŋāĻ¤ā§‡ āĻ¸āĻŦāĻ¸āĻŽāĻ¯āĻŧ āĻŦāĻĄāĻŧ āĻšāĻšā§āĻ›ā§‡,
āĻ•ā§‹āĻĄ āĻ˛āĻžāĻ‡āĻ¨, āĻāĻŦāĻ‚ āĻŽā§‡āĻŽāĻ°āĻŋ āĻĒāĻĻāĻšāĻŋāĻšā§āĻ¨. āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž, āĻ¤āĻŦā§‡, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ‡ āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻāĻ•ā§‡āĻŦāĻžāĻ°ā§‡. āĻāĻ‡ āĻ•āĻžāĻ°āĻŖā§‡, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ­āĻžāĻŦā§‡ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ‰āĻĒāĻ¸ā§‡āĻŸ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻ¸āĻŽā§āĻ­āĻŦ ns-3 āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¯āĻž āĻ¤āĻžāĻ°āĻž āĻ†āĻ¸āĻ˛ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻ—āĻŦā§‡āĻˇāĻŖāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨āĨ¤

āĻāĻ‡ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧā§‡ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧ ns-3 āĻ¯ā§‡ āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻ—ā§āĻ°āĻšā§€
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°.

āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻž a āĻ‰āĻĒāĻ¸ā§‡āĻŸ of ns-3's āĻŽāĻĄāĻŋāĻ‰āĻ˛
āĻ¯āĻĻāĻŋ āĻ­āĻžāĻ— āĻ•āĻ°āĻž āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻāĻ•āĻŸāĻŋ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ˛ā§‡ āĻ…āĻ¨ā§āĻ¤āĻ¤ āĻāĻ•āĻŸāĻŋ āĻšāĻŦā§‡ā§ˇ
āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻ•āĻ°āĻž āĻšāĻŦā§‡:

libns3-modulename.so

āĻ¯āĻĻāĻŋ āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻŸāĻŋāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻĨāĻžāĻ•ā§‡ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡, āĻ¤āĻžāĻšāĻ˛ā§‡

libns3-modulename-test.so

āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻšāĻŦā§‡, āĻ–ā§āĻŦ. āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¯āĻž āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ¤āĻžāĻĻā§‡āĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ
āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻšāĻŦā§‡āĨ¤

āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡, āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻšāĻ¯āĻŧ ns-3. āĻāĻ‡āĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻ¸ā§‡āĻŸ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻžāĻ° āĻĻā§āĻŸāĻŋ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡
āĻŽāĻĄāĻŋāĻ‰āĻ˛:

1. waf āĻāĻ° --enable-modules āĻ…āĻĒāĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž

2. āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ ns-3 āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĢāĻžāĻ‡āĻ˛

āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻž āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° waf āĻāĻ° --āĻ¸āĻ•ā§āĻˇāĻŽ-āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻĒāĻ›āĻ¨ā§āĻĻ
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¸āĻš āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŽā§‚āĻ˛ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻāĻ‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻ—ā§āĻ˛āĻŋ āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§āĻ¨:

$ ./waf āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ°
$ ./waf āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° --enable-examples --enable-tests --enable-modules=core
$ ./waf āĻŦāĻŋāĻ˛ā§āĻĄ
$ cd āĻŦāĻŋāĻ˛ā§āĻĄ/āĻĄāĻŋāĻŦāĻžāĻ—/
s ls

āĻāĻŦāĻ‚ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻĨāĻžāĻ•āĻž āĻ‰āĻšāĻŋāĻ¤:

bindings libns3-core.so ns3 āĻ¸ā§āĻ•ā§āĻ°ā§āĻ¯āĻžāĻš āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻ¸
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ libns3-core-test.so āĻ¨āĻŽā§āĻ¨āĻž src

āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ ./waff āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻ§āĻžāĻĒāĻŸāĻŋ āĻāĻ–āĻžāĻ¨ā§‡ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ†āĻ°āĻ“ āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯
āĻ¤ā§ˆāĻ°ā§€ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡. āĻ†āĻĒāĻ¨āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¨āĻž ./waff āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻ‰āĻĒāĻ¸ā§‡āĻŸāĻ—ā§āĻ˛āĻŋ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯āĨ¤

test.py āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻĢāĻ˛ā§‡ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¸ā§‡āĻ‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ—ā§āĻ˛āĻŋ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻŦā§‡ āĻ¯āĻž āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ•ā§‹āĻ°ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡:

24āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ¯āĻŧ 24āĻŸāĻŋ āĻĒāĻžāĻ¸ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (24āĻŸāĻŋ āĻĒāĻžāĻ¸ āĻ•āĻ°ā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§‡ āĻ—ā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻ•ā§āĻ°ā§āĻ¯āĻžāĻļ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻ­āĻžāĻ˛āĻ—ā§āĻ°āĻŋāĻ¨ā§āĻĄ āĻ¤ā§āĻ°ā§āĻŸāĻŋ)

"āĻ•ā§‹āĻ°" āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ "āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•" āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ§āĻžāĻĒāĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚
āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻŦā§‡, āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻŽā§‚āĻ˛ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡:

āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚ libns3-core.so libns3-network.so ns3 āĻ¸ā§āĻ•ā§āĻ°ā§āĻ¯āĻžāĻš āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻ¸
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ libns3-core-test.so libns3-network-test.so āĻ¨āĻŽā§āĻ¨āĻž src

test.py āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻĢāĻ˛ā§‡ āĻ¸ā§‡āĻ‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ—ā§āĻ˛āĻŋ āĻšāĻŦā§‡ āĻ¯ā§‡āĻ—ā§āĻ˛āĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŽā§‚āĻ˛ āĻāĻŦāĻ‚ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡ā§ˇ
āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻŦā§‡:

31āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ¯āĻŧ 31āĻŸāĻŋ āĻĒāĻžāĻ¸ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (31āĻŸāĻŋ āĻĒāĻžāĻ¸ āĻ•āĻ°ā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§‡ āĻ—ā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻ•ā§āĻ°ā§āĻ¯āĻžāĻļ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻ­āĻžāĻ˛āĻ—ā§āĻ°āĻŋāĻ¨ā§āĻĄ āĻ¤ā§āĻ°ā§āĻŸāĻŋ)

āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻž āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻĻā§āĻ¯ ns-3 āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĢāĻžāĻ‡āĻ˛
āĻāĻ•āĻŸāĻŋ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĢāĻžāĻ‡āĻ˛, .ns3rc, āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ ns-3 āĻ¯āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ āĻ¯āĻž
āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻŦāĻŋāĻ˛ā§āĻĄ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ.

āĻāĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻ¸ā§‡āĻŸ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ ns-3 āĻŽāĻĄāĻŋāĻ‰āĻ˛, āĻ…āĻ—ā§āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ° āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§‚āĻĒ:

1. --enable-modules āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ .ns3rc āĻĢāĻžāĻ‡āĻ˛āĻ•ā§‡ āĻ“āĻ­āĻžāĻ°āĻ°āĻžāĻ‡āĻĄ āĻ•āĻ°ā§‡

2. āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ¸ā§āĻ¤āĻ°ā§‡ .ns3rc āĻĢāĻžāĻ‡āĻ˛ ns-3 āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¯āĻĻāĻŋ āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻĨāĻžāĻ•ā§‡

3. āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻ•āĻ°ā§‡ ~/.ns3rc āĻ¯āĻĻāĻŋ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻĻā§āĻŸāĻŋ āĻ…āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻšāĻ¯āĻŧ

āĻ¯āĻĻāĻŋ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ•ā§‹āĻ¨āĻŸāĻŋāĻ‡ āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¸ā§€āĻŽāĻžāĻŦāĻĻā§āĻ§ āĻ¨āĻž āĻ•āĻ°ā§‡, āĻ¤āĻŦā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¯ā§‡āĻ—ā§āĻ˛āĻŋ waf āĻ‡āĻšā§āĻ›āĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻœāĻžāĻ¨ā§‡ā§ˇ
āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻ•āĻ°āĻž

.ns3rc āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ°āĻ•ā§āĻˇāĻŖāĻžāĻŦā§‡āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ ns-3 āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ•ā§‹āĻĄ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋ āĻĨāĻžāĻ•ā§‡
āĻĻā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻāĻ° āĻ•āĻžāĻ°āĻŖ āĻšāĻ˛ āĻ¯āĻĻāĻŋ āĻāĻŸāĻŋ āĻļā§€āĻ°ā§āĻˇ-āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻĨāĻžāĻ•āĻ¤
āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛, āĻāĻŸāĻŋ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§‡ āĻāĻŽāĻ¨ āĻ°āĻ•ā§āĻˇāĻŖāĻžāĻŦā§‡āĻ•ā§āĻˇāĻŖāĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻ•āĻžāĻ› āĻĨā§‡āĻ•ā§‡ āĻĻā§āĻ°ā§āĻ˜āĻŸāĻ¨āĻžāĻœāĻ¨āĻŋāĻ¤ āĻšā§‡āĻ•āĻ‡āĻ¨ āĻĒā§āĻ°āĻŦāĻŖ āĻšāĻŦā§‡
āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¤āĻžāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨. āĻ¤āĻžāĻ‡, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŋ āĻĨā§‡āĻ•ā§‡ .ns3rc āĻ•āĻĒāĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ¤āĻžāĻĻā§‡āĻ° āĻĒāĻ›āĻ¨ā§āĻĻā§‡āĻ° āĻœāĻžāĻ¯āĻŧāĻ—āĻžāĻ¯āĻŧ (āĻļā§€āĻ°ā§āĻˇ āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻŦāĻž āĻ¤āĻžāĻĻā§‡āĻ° āĻšā§‹āĻŽ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ) āĻĨā§‡āĻ•ā§‡
āĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§€ āĻŽāĻĄā§āĻ˛āĻžāĻ° āĻŦāĻŋāĻ˛ā§āĻĄ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§āĻ¨āĨ¤

āĻ§āĻ°ā§‡ āĻ¨āĻŋāĻšā§āĻ›āĻŋ āĻ†āĻĒāĻ¨āĻŋ āĻļā§€āĻ°ā§āĻˇ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧā§‡ āĻ†āĻ›ā§‡āĻ¨ ns-3 āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ, āĻ†āĻĒāĻ¨āĻŋ .ns3rc āĻāĻ° āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻĢāĻžāĻ‡āĻ˛ āĻ¯āĻž āĻ†āĻ›ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§‚āĻĒ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ:

$ cp utils/.ns3rcāĨ¤

.ns3rc āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻāĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻžāĻ° āĻļā§€āĻ°ā§āĻˇ āĻ¸ā§āĻ¤āĻ°ā§‡ āĻĨāĻžāĻ•āĻž āĻ‰āĻšāĻŋāĻ¤ ns-3 āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ, āĻāĻŦāĻ‚ āĻāĻ¤ā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡
āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤:

#! /usr/bin/env āĻĒāĻžāĻ‡āĻĨāĻ¨

# āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ¯āĻž ns-3 āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻ˛ā§‡ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤
# āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ­ā§āĻ•ā§āĻ¤ āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡ āĻāĻŽāĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻ—ā§āĻ˛āĻŋāĻ“ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻšāĻŦā§‡ā§ˇ
#
# 'all_modules' āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤
modules_enabled = ['all_modules']

# āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ—ā§āĻ˛āĻŋ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻšāĻžāĻ¨ āĻ¤āĻŦā§‡ āĻāĻŸāĻŋāĻ•ā§‡ āĻ¸āĻ¤ā§āĻ¯ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨āĨ¤
example_enabled = āĻŽāĻŋāĻĨā§āĻ¯āĻž

# āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻžāĻ˛āĻžāĻ¤ā§‡ āĻšāĻžāĻ¨ āĻ¤āĻŦā§‡ āĻāĻŸāĻŋāĻ•ā§‡ āĻ¸āĻ¤ā§āĻ¯ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨āĨ¤
tests_enabled = āĻŽāĻŋāĻĨā§āĻ¯āĻž

āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŽā§‚āĻ˛ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡ .ns3rc āĻĢāĻžāĻ‡āĻ˛ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻŋāĻ¯āĻŧ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ• āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨
āĻāĻ‡ āĻŽāĻ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž:

#! /usr/bin/env āĻĒāĻžāĻ‡āĻĨāĻ¨

# āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ¯āĻž ns-3 āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻ˛ā§‡ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤
# āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ­ā§āĻ•ā§āĻ¤ āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡ āĻāĻŽāĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻ—ā§āĻ˛āĻŋāĻ“ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻšāĻŦā§‡ā§ˇ
#
# 'all_modules' āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤
modules_enabled = ['āĻ•ā§‹āĻ°']

# āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ—ā§āĻ˛āĻŋ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻšāĻžāĻ¨ āĻ¤āĻŦā§‡ āĻāĻŸāĻŋāĻ•ā§‡ āĻ¸āĻ¤ā§āĻ¯ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨āĨ¤
example_enabled = āĻ¸āĻ¤ā§āĻ¯

# āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻžāĻ˛āĻžāĻ¤ā§‡ āĻšāĻžāĻ¨ āĻ¤āĻŦā§‡ āĻāĻŸāĻŋāĻ•ā§‡ āĻ¸āĻ¤ā§āĻ¯ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨āĨ¤
tests_enabled = āĻ¸āĻ¤ā§āĻ¯

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻ‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻ—ā§āĻ˛āĻŋ āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§‡āĻ¨ āĻ¤āĻŦā§‡ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŽā§‚āĻ˛ āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻŸāĻŋ āĻāĻ–āĻ¨ āĻ¸āĻ•ā§āĻˇāĻŽ āĻšāĻŦā§‡:

$ ./waf āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ°
$ ./waf āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°ā§āĻ¨
$ ./waf āĻŦāĻŋāĻ˛ā§āĻĄ
$ cd āĻŦāĻŋāĻ˛ā§āĻĄ/āĻĄāĻŋāĻŦāĻžāĻ—/
s ls

āĻāĻŦāĻ‚ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻĨāĻžāĻ•āĻž āĻ‰āĻšāĻŋāĻ¤:

bindings libns3-core.so ns3 āĻ¸ā§āĻ•ā§āĻ°ā§āĻ¯āĻžāĻš āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻ¸
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ libns3-core-test.so āĻ¨āĻŽā§āĻ¨āĻž src

āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ ./waff āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻ§āĻžāĻĒāĻŸāĻŋ āĻāĻ–āĻžāĻ¨ā§‡ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ†āĻ°āĻ“ āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯
āĻ¤ā§ˆāĻ°ā§€ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡. āĻ†āĻĒāĻ¨āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¨āĻž ./waff āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻ‰āĻĒāĻ¸ā§‡āĻŸāĻ—ā§āĻ˛āĻŋ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯āĨ¤

test.py āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻĢāĻ˛ā§‡ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¸ā§‡āĻ‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ—ā§āĻ˛āĻŋ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻŦā§‡ āĻ¯āĻž āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ•ā§‹āĻ°ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡:

24āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ¯āĻŧ 24āĻŸāĻŋ āĻĒāĻžāĻ¸ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (24āĻŸāĻŋ āĻĒāĻžāĻ¸ āĻ•āĻ°ā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§‡ āĻ—ā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻ•ā§āĻ°ā§āĻ¯āĻžāĻļ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻ­āĻžāĻ˛āĻ—ā§āĻ°āĻŋāĻ¨ā§āĻĄ āĻ¤ā§āĻ°ā§āĻŸāĻŋ)

"āĻ•ā§‹āĻ°" āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ "āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•" āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ§āĻžāĻĒāĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚
āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻŦā§‡, āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻŽā§‚āĻ˛ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡:

āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚ libns3-core.so libns3-network.so ns3 āĻ¸ā§āĻ•ā§āĻ°ā§āĻ¯āĻžāĻš āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻ¸
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ libns3-core-test.so libns3-network-test.so āĻ¨āĻŽā§āĻ¨āĻž src

test.py āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻĢāĻ˛ā§‡ āĻ¸ā§‡āĻ‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ—ā§āĻ˛āĻŋ āĻšāĻŦā§‡ āĻ¯ā§‡āĻ—ā§āĻ˛āĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŽā§‚āĻ˛ āĻāĻŦāĻ‚ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡ā§ˇ
āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻŦā§‡:

31āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ¯āĻŧ 31āĻŸāĻŋ āĻĒāĻžāĻ¸ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (31āĻŸāĻŋ āĻĒāĻžāĻ¸ āĻ•āĻ°ā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§‡ āĻ—ā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻ•ā§āĻ°ā§āĻ¯āĻžāĻļ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻ­āĻžāĻ˛āĻ—ā§āĻ°āĻŋāĻ¨ā§āĻĄ āĻ¤ā§āĻ°ā§āĻŸāĻŋ)

āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ/āĻ…āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ ns-3 āĻŸā§‡āĻ¸ā§āĻŸ āĻāĻŦāĻ‚ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ
āĻ¸āĻžāĻ°ā§āĻœāĻžāĻ°āĻŋāĻ° ns-3 āĻĄāĻŋāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻļāĻ¨ā§‡ āĻ…āĻ¨ā§‡āĻ• āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻ¯āĻžāĻšāĻžāĻ‡ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧ ns-3
āĻĒāĻĻā§āĻ§āĻ¤āĻŋ. āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž, āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻāĻ‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ—ā§āĻ˛āĻŋ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ—ā§āĻ˛āĻŋ āĻ¤āĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻšāĻžāĻ˛āĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨ āĻ¨āĻž
āĻāĻ° āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨ ns-3.

āĻāĻ‡ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž ns-3 āĻāĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¸āĻš āĻŦāĻž āĻ›āĻžāĻĄāĻŧāĻžāĨ¤

āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻĨā§‡āĻ•ā§‡ āĻšāĻžāĻ˛ā§ āĻ…āĻšāĻ˛ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž in ns-3
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ—ā§āĻ˛āĻŋ āĻ¸āĻ•ā§āĻˇāĻŽ/āĻ…āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻžāĻ° 3āĻŸāĻŋ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ā§ˇ ns-3:

1. build.py āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¯āĻ–āĻ¨ ns-3 āĻĒā§āĻ°āĻĨāĻŽāĻŦāĻžāĻ° āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻšāĻ¯āĻŧ

2. āĻ“āĻ¯āĻŧāĻžāĻĢ āĻāĻ•āĻŦāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž ns-3 āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡

3. āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ ns-3 āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĢāĻžāĻ‡āĻ˛ āĻāĻ•āĻŦāĻžāĻ° ns-3 āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡

āĻšāĻžāĻ˛ā§ āĻ…āĻšāĻ˛ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° build.py
āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻ–āĻ¨ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¸āĻ•ā§āĻˇāĻŽ/āĻ…āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡ build.py āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ ns-3 āĻĒā§āĻ°āĻĨāĻŽ āĻœāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻšāĻ¯āĻŧ
āĻ¸āĻŽāĻ¯āĻŧāĨ¤

āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻ¨āĻž ns-3.

ns-3-allinone āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻĨā§‡āĻ•ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ ns-3 āĻ•ā§‹āĻ¨ā§‹ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻŦāĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ›āĻžāĻĄāĻŧāĻžāĻ‡
āĻ•āĻ°ā§‡āĻ›ā§‡:

$ ./build.py

āĻļā§€āĻ°ā§āĻˇ āĻ¸ā§āĻ¤āĻ°ā§‡ test.py āĻšāĻ˛āĻ›ā§‡ ns-3 āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻāĻ–āĻ¨ āĻ•ā§‹āĻ¨ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻŦāĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¨āĻž
āĻ¸āĻžā§āĻšāĻžāĻ˛āĻ¨ āĻ•āĻ°ā§āĻ¨:

0āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ¯āĻŧ 0āĻŸāĻŋ āĻĒāĻžāĻ¸ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (0āĻŸāĻŋ āĻĒāĻžāĻ¸ āĻ•āĻ°ā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§‡ āĻ—ā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻ•ā§āĻ°ā§āĻ¯āĻžāĻļ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻ­āĻžāĻ˛āĻ—ā§āĻ°āĻŋāĻ¨ā§āĻĄ āĻ¤ā§āĻ°ā§āĻŸāĻŋ)

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨ ns-3 āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¸āĻš, āĻ¤āĻžāĻ°āĻĒāĻ° āĻĨā§‡āĻ•ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤āĻ—ā§āĻ˛āĻŋ āĻ•āĻ°ā§āĻ¨
ns-3-āĻ…ā§āĻ¯āĻžāĻ˛āĻŋāĻ¨ā§‹āĻ¨ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ:

$ ./build.py --enable-examples --enable-tests

āĻļā§€āĻ°ā§āĻˇ āĻ¸ā§āĻ¤āĻ°ā§‡ test.py āĻšāĻ˛āĻ›ā§‡ ns-3 āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻŸāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ•āĻžāĻ°āĻŖ āĻšāĻŦā§‡
āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻŦā§‡:

170āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ¯āĻŧ 170āĻŸāĻŋ āĻĒāĻžāĻ¸ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (170āĻŸāĻŋ āĻĒāĻžāĻ¸ āĻ•āĻ°ā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§‡ āĻ—ā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻ•ā§āĻ°ā§āĻ¯āĻžāĻļ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻ­āĻžāĻ˛āĻ—ā§āĻ°āĻŋāĻ¨ā§āĻĄ āĻ¤ā§āĻ°ā§āĻŸāĻŋ)

āĻšāĻžāĻ˛ā§ āĻ…āĻšāĻ˛ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ“āĻ¯āĻŧāĻžāĻĢ
āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŦāĻžāĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¸āĻ•ā§āĻˇāĻŽ/āĻ…āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡ waf āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ ns-3 āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡.

āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻ¨āĻž ns-3.

āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ¸ā§āĻ¤āĻ° āĻĨā§‡āĻ•ā§‡ ns-3 āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ, āĻ†āĻĒāĻ¨āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ ns-3 āĻ•ā§‹āĻ¨ā§‹ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻŦāĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ›āĻžāĻĄāĻŧāĻžāĻ‡
āĻ•āĻ°ā§‡āĻ›ā§‡:

$ ./waf āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°ā§āĻ¨
$ ./waf āĻŦāĻŋāĻ˛ā§āĻĄ

test.py āĻāĻ–āĻ¨ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻĢāĻ˛ā§‡ āĻ•ā§‹āĻ¨ā§‹ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻŦāĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻŦā§‡ āĻ¨āĻž:

0āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ¯āĻŧ 0āĻŸāĻŋ āĻĒāĻžāĻ¸ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (0āĻŸāĻŋ āĻĒāĻžāĻ¸ āĻ•āĻ°ā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§‡ āĻ—ā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻ•ā§āĻ°ā§āĻ¯āĻžāĻļ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻ­āĻžāĻ˛āĻ—ā§āĻ°āĻŋāĻ¨ā§āĻĄ āĻ¤ā§āĻ°ā§āĻŸāĻŋ)

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨ ns-3 āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¸āĻš, āĻ¤āĻžāĻ°āĻĒāĻ° āĻ‰āĻĒāĻ°ā§‡ āĻĨā§‡āĻ•ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•āĻ°ā§āĻ¨
āĻ¸ā§āĻ¤āĻ° ns-3 āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ:

$ ./waf āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° --enable-examples --enable-tests
$ ./waf āĻŦāĻŋāĻ˛ā§āĻĄ

test.py āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻĢāĻ˛ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻŦā§‡:

170āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ¯āĻŧ 170āĻŸāĻŋ āĻĒāĻžāĻ¸ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (170āĻŸāĻŋ āĻĒāĻžāĻ¸ āĻ•āĻ°ā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§‡ āĻ—ā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻ•ā§āĻ°ā§āĻ¯āĻžāĻļ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻ­āĻžāĻ˛āĻ—ā§āĻ°āĻŋāĻ¨ā§āĻĄ āĻ¤ā§āĻ°ā§āĻŸāĻŋ)

āĻšāĻžāĻ˛ā§ āĻ…āĻšāĻ˛ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻĻā§āĻ¯ ns-3 āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĢāĻžāĻ‡āĻ˛
āĻāĻ•āĻŸāĻŋ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĢāĻžāĻ‡āĻ˛, .ns3rc, āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ ns-3 āĻ¯āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ āĻ•āĻŋāĻ¨āĻž
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻŦāĻž āĻ¨āĻž āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤. āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ/āĻ…āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡ āĻāĻ‡ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻāĻ•āĻŦāĻžāĻ° ns-3 āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡.

āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¨āĻŋāĻˇā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ…āĻ—ā§āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ°ā§‡āĻ° āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻ—ā§āĻ˛āĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§‚āĻĒ:

1. --enable-examples/--disable-examples āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ .ns3rc āĻĢāĻžāĻ‡āĻ˛āĻ•ā§‡ āĻ“āĻ­āĻžāĻ°āĻ°āĻžāĻ‡āĻĄ āĻ•āĻ°ā§‡

2. --enable-tests/--disable-tests āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻ¯ā§‡āĻ•ā§‹āĻ¨ .ns3rc āĻĢāĻžāĻ‡āĻ˛āĻ•ā§‡ āĻ“āĻ­āĻžāĻ°āĻ°āĻžāĻ‡āĻĄ āĻ•āĻ°ā§‡

3. āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ¸ā§āĻ¤āĻ°ā§‡ .ns3rc āĻĢāĻžāĻ‡āĻ˛ ns-3 āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¯āĻĻāĻŋ āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻĨāĻžāĻ•ā§‡

4. āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻ•āĻ°ā§‡ ~/.ns3rc āĻ¯āĻĻāĻŋ .ns3rc āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻ†āĻ—ā§‡āĻ° āĻ§āĻžāĻĒā§‡ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¨āĻž āĻ¯āĻžāĻ¯āĻŧ

āĻ¯āĻĻāĻŋ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ•ā§‹āĻ¨āĻŸāĻŋāĻ‡ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ¨āĻž āĻĨāĻžāĻ•ā§‡, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻŦā§‡ āĻ¨āĻžāĨ¤

.ns3rc āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ°āĻ•ā§āĻˇāĻŖāĻžāĻŦā§‡āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ ns-3 āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ•ā§‹āĻĄ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋ āĻĨāĻžāĻ•ā§‡
āĻĻā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻāĻ° āĻ•āĻžāĻ°āĻŖ āĻšāĻ˛ āĻ¯āĻĻāĻŋ āĻāĻŸāĻŋ āĻļā§€āĻ°ā§āĻˇ-āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻĨāĻžāĻ•āĻ¤
āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛, āĻāĻŸāĻŋ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§‡ āĻāĻŽāĻ¨ āĻ°āĻ•ā§āĻˇāĻŖāĻžāĻŦā§‡āĻ•ā§āĻˇāĻŖāĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻ•āĻžāĻ› āĻĨā§‡āĻ•ā§‡ āĻĻā§āĻ°ā§āĻ˜āĻŸāĻ¨āĻžāĻœāĻ¨āĻŋāĻ¤ āĻšā§‡āĻ•āĻ‡āĻ¨ āĻĒā§āĻ°āĻŦāĻŖ āĻšāĻŦā§‡
āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¤āĻžāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨. āĻ¤āĻžāĻ‡, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŋ āĻĨā§‡āĻ•ā§‡ .ns3rc āĻ•āĻĒāĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ¤āĻžāĻĻā§‡āĻ° āĻĒāĻ›āĻ¨ā§āĻĻā§‡āĻ° āĻœāĻžāĻ¯āĻŧāĻ—āĻžāĻ¯āĻŧ (āĻļā§€āĻ°ā§āĻˇ āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻŦāĻž āĻ¤āĻžāĻĻā§‡āĻ° āĻšā§‹āĻŽ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ) āĻĨā§‡āĻ•ā§‡
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§āĻ¨.

āĻ§āĻ°ā§‡ āĻ¨āĻŋāĻšā§āĻ›āĻŋ āĻ†āĻĒāĻ¨āĻŋ āĻļā§€āĻ°ā§āĻˇ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧā§‡ āĻ†āĻ›ā§‡āĻ¨ ns-3 āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ, āĻ†āĻĒāĻ¨āĻŋ .ns3rc āĻāĻ° āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻĢāĻžāĻ‡āĻ˛ āĻ¯āĻž āĻ†āĻ›ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§‚āĻĒ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ:

$ cp utils/.ns3rcāĨ¤

.ns3rc āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻāĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻžāĻ° āĻļā§€āĻ°ā§āĻˇ āĻ¸ā§āĻ¤āĻ°ā§‡ āĻĨāĻžāĻ•āĻž āĻ‰āĻšāĻŋāĻ¤ ns-3 āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ, āĻāĻŦāĻ‚ āĻāĻ¤ā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡
āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤:

#! /usr/bin/env āĻĒāĻžāĻ‡āĻĨāĻ¨

# āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ¯āĻž ns-3 āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻ˛ā§‡ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤
# āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ­ā§āĻ•ā§āĻ¤ āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡ āĻāĻŽāĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻ—ā§āĻ˛āĻŋāĻ“ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻšāĻŦā§‡ā§ˇ
#
# 'all_modules' āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤
modules_enabled = ['all_modules']

# āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ—ā§āĻ˛āĻŋ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻšāĻžāĻ¨ āĻ¤āĻŦā§‡ āĻāĻŸāĻŋāĻ•ā§‡ āĻ¸āĻ¤ā§āĻ¯ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨āĨ¤
example_enabled = āĻŽāĻŋāĻĨā§āĻ¯āĻž

# āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻžāĻ˛āĻžāĻ¤ā§‡ āĻšāĻžāĻ¨ āĻ¤āĻŦā§‡ āĻāĻŸāĻŋāĻ•ā§‡ āĻ¸āĻ¤ā§āĻ¯ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨āĨ¤
tests_enabled = āĻŽāĻŋāĻĨā§āĻ¯āĻž

āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ¸ā§āĻ¤āĻ° āĻĨā§‡āĻ•ā§‡ ns-3 āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ, āĻ†āĻĒāĻ¨āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ ns-3 āĻ•ā§‹āĻ¨ā§‹ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻŦāĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ›āĻžāĻĄāĻŧāĻžāĻ‡
āĻ•āĻ°ā§‡āĻ›ā§‡:

$ ./waf āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°ā§āĻ¨
$ ./waf āĻŦāĻŋāĻ˛ā§āĻĄ

test.py āĻāĻ–āĻ¨ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻĢāĻ˛ā§‡ āĻ•ā§‹āĻ¨ā§‹ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻŦāĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻŦā§‡ āĻ¨āĻž:

0āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ¯āĻŧ 0āĻŸāĻŋ āĻĒāĻžāĻ¸ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (0āĻŸāĻŋ āĻĒāĻžāĻ¸ āĻ•āĻ°ā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§‡ āĻ—ā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻ•ā§āĻ°ā§āĻ¯āĻžāĻļ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻ­āĻžāĻ˛āĻ—ā§āĻ°āĻŋāĻ¨ā§āĻĄ āĻ¤ā§āĻ°ā§āĻŸāĻŋ)

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨ ns-3 āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¸āĻš, āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻŋāĻ¯āĻŧ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ• āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨
example_enabled āĻāĻŦāĻ‚ tests_enabled āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ .ns3rc āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻŽāĻžāĻ¨ āĻ¸āĻ¤ā§āĻ¯ āĻšāĻ¤ā§‡ āĻšāĻŦā§‡:

#! /usr/bin/env āĻĒāĻžāĻ‡āĻĨāĻ¨

# āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ¯āĻž ns-3 āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻ˛ā§‡ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤
# āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ­ā§āĻ•ā§āĻ¤ āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡ āĻāĻŽāĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻ—ā§āĻ˛āĻŋāĻ“ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻšāĻŦā§‡ā§ˇ
#
# 'all_modules' āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤
modules_enabled = ['all_modules']

# āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ—ā§āĻ˛āĻŋ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻšāĻžāĻ¨ āĻ¤āĻŦā§‡ āĻāĻŸāĻŋāĻ•ā§‡ āĻ¸āĻ¤ā§āĻ¯ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨āĨ¤
example_enabled = āĻ¸āĻ¤ā§āĻ¯

# āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻžāĻ˛āĻžāĻ¤ā§‡ āĻšāĻžāĻ¨ āĻ¤āĻŦā§‡ āĻāĻŸāĻŋāĻ•ā§‡ āĻ¸āĻ¤ā§āĻ¯ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨āĨ¤
tests_enabled = āĻ¸āĻ¤ā§āĻ¯

āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ¸ā§āĻ¤āĻ° āĻĨā§‡āĻ•ā§‡ ns-3 āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ, āĻ†āĻĒāĻ¨āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ ns-3 āĻ¸āĻšāĻœāĻ­āĻžāĻŦā§‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¸āĻš
āĻ•āĻ°āĻ›ā§‡āĻ¨:

$ ./waf āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°ā§āĻ¨
$ ./waf āĻŦāĻŋāĻ˛ā§āĻĄ

test.py āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻĢāĻ˛ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻŦā§‡:

170āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ¯āĻŧ 170āĻŸāĻŋ āĻĒāĻžāĻ¸ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (170āĻŸāĻŋ āĻĒāĻžāĻ¸ āĻ•āĻ°ā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§‡ āĻ—ā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻ•ā§āĻ°ā§āĻ¯āĻžāĻļ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, 0āĻŸāĻŋ āĻ­āĻžāĻ˛āĻ—ā§āĻ°āĻŋāĻ¨ā§āĻĄ āĻ¤ā§āĻ°ā§āĻŸāĻŋ)

āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨
āĻāĻ‡ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧāĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻŦāĻž āĻšāĻ˛āĻŽāĻžāĻ¨ āĻ¸āĻŽā§āĻ­āĻžāĻŦā§āĻ¯ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ•āĻŋāĻ›ā§ āĻ¤āĻĨā§āĻ¯ āĻĒā§‹āĻ¸ā§āĻŸ āĻ•āĻ°ā§‡
ns-3 āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĨ¤

āĻĻāĻ¯āĻŧāĻž āĻ•āĻ°ā§‡ āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ āĻ¯ā§‡ āĻ‰āĻ‡āĻ•āĻŋ (http://www.nsnam.org/wiki/Troubleshooting) āĻ…āĻŦāĻĻāĻžāĻ¨ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ†āĻ‡āĻŸā§‡āĻŽāĨ¤

āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻ•āĻ°āĻž āĻ¤ā§āĻ°ā§āĻŸāĻŋ
āĻ°āĻžāĻ¨-āĻŸāĻžāĻ‡āĻŽ āĻ¤ā§āĻ°ā§āĻŸāĻŋ
āĻ•āĻ–āĻ¨āĻ“ āĻ•āĻ–āĻ¨āĻ“, āĻāĻ•āĻŸāĻŋ āĻ¸āĻĢāĻ˛ āĻŦāĻŋāĻ˛ā§āĻĄ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ˜āĻŸāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻ—ā§āĻ˛ā§‹ āĻ°āĻžāĻ¨-āĻŸāĻžāĻ‡āĻŽ
āĻ¤ā§āĻ°ā§āĻŸāĻŋ, āĻāĻŦāĻ‚ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ˜āĻŸāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¯āĻ–āĻ¨ āĻŽā§‡āĻŽāĻ°āĻŋ āĻĻā§‚āĻˇāĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻŦāĻž āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻŽāĻžāĻ¨ āĻ…āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤āĻ­āĻžāĻŦā§‡ āĻšāĻ¯āĻŧ
āĻ–āĻžāĻ˛āĻŋ.

āĻāĻ–āĻžāĻ¨ā§‡ āĻ•āĻŋ āĻ˜āĻŸāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¤āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ:

$./waf --run tcp-point-to-point
'/home/tomh/ns-3-nsc/build' āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻĒā§āĻ°āĻŦā§‡āĻļ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡
āĻ¸āĻ‚āĻ•āĻ˛āĻ¨ āĻ¸āĻĢāĻ˛āĻ­āĻžāĻŦā§‡ āĻ¸āĻŽāĻžāĻĒā§āĻ¤
āĻ•āĻŽāĻžāĻ¨ā§āĻĄ ['/home/tomh/ns-3-nsc/build/debug/examples/tcp-point-to-point'] āĻ•ā§‹āĻĄ -11 āĻ¸āĻš āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡

āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻŸāĻŋ āĻŦāĻ˛ā§‡ āĻ¯ā§‡ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŸāĻŋ āĻ…āĻ¸āĻĢāĻ˛āĻ­āĻžāĻŦā§‡ āĻ¸āĻŽāĻžāĻĒā§āĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻ¨āĻ¯āĻŧ
āĻāĻ‡ āĻ¤āĻĨā§āĻ¯ āĻĨā§‡āĻ•ā§‡ āĻ•āĻŋ āĻ­ā§āĻ˛ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ†āĻ°ā§‹ āĻ˜āĻ¨āĻŋāĻˇā§āĻ āĻ­āĻžāĻŦā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡, āĻāĻŸāĻŋ āĻ…āĻ§ā§€āĻ¨ā§‡ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§āĻ¨
āĻĻā§āĻ¯ āĻœāĻŋāĻĄāĻŋāĻŦāĻŋ āĻĄāĻŋāĻŦāĻžāĻ—āĻžāĻ°:

$ ./waf --run tcp-point-to-point --command-template="gdb %s"
'/home/tomh/ns-3-nsc/build' āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻĒā§āĻ°āĻŦā§‡āĻļ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡
āĻ¸āĻ‚āĻ•āĻ˛āĻ¨ āĻ¸āĻĢāĻ˛āĻ­āĻžāĻŦā§‡ āĻ¸āĻŽāĻžāĻĒā§āĻ¤
GNU gdb Red Hat Linux (6.3.0.0-1.134.fc5rh)
āĻ•āĻĒāĻŋāĻ°āĻžāĻ‡āĻŸ 2004 āĻĢā§āĻ°āĻŋ āĻ¸āĻĢāĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻĢāĻžāĻ‰āĻ¨ā§āĻĄā§‡āĻļāĻ¨, āĻ‡āĻ¨āĻ•.
GDB āĻšāĻ˛ āĻŦāĻŋāĻ¨āĻžāĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°, GNU āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻ˛ āĻĒāĻžāĻŦāĻ˛āĻŋāĻ• āĻ˛āĻžāĻ‡āĻ¸ā§‡āĻ¨ā§āĻ¸ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ†āĻšā§āĻ›āĻžāĻĻāĻŋāĻ¤, āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻ›ā§‡āĻ¨
āĻāĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻāĻŦāĻ‚/āĻ…āĻĨāĻŦāĻž āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻļāĻ°ā§āĻ¤ā§‡ āĻāĻ° āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻ¸ā§āĻŦāĻžāĻ—āĻ¤ āĻœāĻžāĻ¨āĻžāĻ‡āĨ¤
āĻļāĻ°ā§āĻ¤ āĻĻā§‡āĻ–āĻ¤ā§‡ "āĻļā§‹ āĻ•āĻĒāĻŋ āĻ•āĻ°āĻž" āĻŸāĻžāĻ‡āĻĒ āĻ•āĻ°ā§āĻ¨āĨ¤
GDB āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•ā§‡āĻŦāĻžāĻ°ā§‡ āĻ•ā§‹āĻ¨ āĻ“āĻ¯āĻŧāĻžāĻ°ā§‡āĻ¨ā§āĻŸāĻŋ āĻ¨ā§‡āĻ‡āĨ¤ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻœāĻžāĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯ "āĻļā§‹ āĻ“āĻ¯āĻŧāĻžāĻ°ā§‡āĻ¨ā§āĻŸāĻŋ" āĻŸāĻžāĻ‡āĻĒ āĻ•āĻ°ā§āĻ¨āĨ¤
āĻāĻ‡ GDB āĻ•ā§‡ "i386-redhat-linux-gnu" āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡...āĻšā§‹āĻ¸ā§āĻŸ libthread_db āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡
āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ "/lib/libthread_db.so.1"āĨ¤

(gdb) āĻšāĻžāĻ˛āĻžāĻ¨
āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻļā§āĻ°ā§ āĻšāĻšā§āĻ›ā§‡: /home/tomh/ns-3-nsc/build/debug/examples/tcp-point-to-point
āĻŸāĻžāĻ°ā§āĻ—ā§‡āĻŸ āĻŽā§‡āĻŽāĻ°āĻŋ āĻĨā§‡āĻ•ā§‡ āĻĒāĻ āĻŋāĻ¤ āĻļā§‡āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻĨā§‡āĻ•ā§‡ āĻšāĻŋāĻšā§āĻ¨ āĻĒāĻĄāĻŧāĻž... āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨āĨ¤
āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ 0xf5c000 āĻ DSO āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻ•āĻ°ā§‡āĻ›ā§‡

āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻ¸āĻŋāĻ—āĻ¨ā§āĻ¯āĻžāĻ˛ SIGSEGV, āĻ¸ā§‡āĻ—āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻĢāĻ˛ā§āĻŸ āĻĒā§‡āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
0x0804aa12 āĻĒā§āĻ°āĻ§āĻžāĻ¨ (argc=1, argv=0xbfdfefa4)
../examples/tcp-point-to-point.cc:136-āĻ
136 Ptr localSocket = socketFactory->CreateSocket ();
(gdb) p localSocket
$1 = {m_ptr = 0x3c5d65}
(āĻœāĻŋāĻĄāĻŋāĻŦāĻŋ) āĻĒāĻŋ āĻ¸āĻ•ā§‡āĻŸ āĻĢā§āĻ¯āĻžāĻ•ā§āĻŸāĻ°āĻŋ
$2 = {m_ptr = 0x0}
(gdb) āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨ āĻ•āĻ°ā§āĻ¨
āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻšāĻ˛āĻ›ā§‡āĨ¤ āĻ¯āĻžāĻ‡āĻšā§‹āĻ• āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨ āĻ•āĻ°āĻŦā§‡āĻ¨? (y āĻŦāĻž n) y

āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻ¨ā§‹āĻŸ āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡āĻ­āĻžāĻŦā§‡ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŸāĻŋ āĻ†āĻšā§āĻŦāĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛-- āĻāĻ•āĻŸāĻŋ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻŸāĻŋ āĻĒāĻžāĻ¸ āĻ•āĻ°ā§āĻ¨
āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ "gdb %s"āĨ¤

āĻāĻŸāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŦāĻ˛ā§‡ āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻžāĻ˛ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻ¸āĻ•ā§‡āĻŸ āĻĢā§āĻ¯āĻžāĻ•ā§āĻŸāĻ°āĻŋāĻ•ā§‡ āĻĄāĻŋāĻ°ā§‡āĻĢāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤

āĻ†āĻ¸ā§āĻ¨ āĻŸāĻŋāĻ¸āĻŋāĻĒāĻŋ-āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ-āĻŸā§-āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸā§‡āĻ° 136 āĻ˛āĻžāĻ‡āĻ¨ā§‡āĻ° āĻšāĻžāĻ°āĻĒāĻžāĻļā§‡ āĻĻā§‡āĻ–āĻŋ, āĻ¯ā§‡āĻŽāĻ¨ āĻœāĻŋāĻĄāĻŋāĻŦāĻŋ āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻā§‡āĻ¯āĻŧ:

Ptr āĻ¸āĻ•ā§‡āĻŸ āĻĢā§āĻ¯āĻžāĻ•ā§āĻŸāĻ°āĻŋ = n2->āĻ—ā§‡āĻŸāĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ (Tcp::iid);
Ptr localSocket = socketFactory->CreateSocket ();
localSocket->Bind ();

āĻāĻ–āĻžāĻ¨ā§‡ āĻ…āĻĒāĻ°āĻžāĻ§ā§€ āĻšāĻ˛ GetObject āĻāĻ° āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻŽāĻžāĻ¨ āĻšā§‡āĻ• āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ āĻ¨āĻž āĻāĻŦāĻ‚ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ–āĻžāĻ˛āĻŋ.

āĻ•āĻ–āĻ¨āĻ“ āĻ•āĻ–āĻ¨āĻ“ āĻ†āĻĒāĻ¨āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ­āĻžāĻ˛āĻ—ā§āĻ°āĻŋāĻ¨ā§āĻĄ āĻ¸ā§āĻŽā§ƒāĻ¤āĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻ• āĻ†āĻ°āĻ“ āĻ¸ā§‚āĻ•ā§āĻˇā§āĻŽ āĻ¤ā§āĻ°ā§āĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯āĨ¤ āĻ†āĻŦāĻžāĻ°,
āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻ‡āĻ­āĻžāĻŦā§‡ āĻ­ā§āĻ¯āĻžāĻ˛āĻ—ā§āĻ°āĻŋāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻ†āĻšā§āĻŦāĻžāĻ¨ āĻœāĻžāĻ¨āĻžāĻ¨:

$ ./waf --run tcp-point-to-point --command-template="valgrind %s"

āĻ‰ā§ŽāĻ¸


āĻāĻ‡ āĻ¨āĻĨāĻŋāĻ¤ā§‡ āĻ˛ā§‡āĻ–āĻž āĻ†āĻ›ā§‡ reStructuredText āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ¸ā§āĻĒāĻŋāĻ‚āĻ•ā§āĻ¸ āĻāĻŦāĻ‚ āĻ°āĻ•ā§āĻˇāĻŖāĻžāĻŦā§‡āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻĄāĻ•/āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛ ns-3 āĻāĻ° āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ•ā§‹āĻĄā§‡āĻ° āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĨ¤

onworks.net āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ…āĻ¨āĻ˛āĻžāĻ‡āĻ¨ā§‡ ns-3-āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨


āĻŦāĻŋāĻ¨āĻžāĻŽā§‚āĻ˛ā§āĻ¯ā§‡ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻāĻŦāĻ‚ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻ¸ā§āĻŸā§‡āĻļāĻ¨

āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹āĻœ āĻāĻŦāĻ‚ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻ…ā§āĻ¯āĻžāĻĒ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°ā§āĻ¨

  • 1
    āĻĒā§‹āĻ¸ā§āĻŸ āĻ‡āĻ¨ā§āĻ¸āĻŸāĻ˛āĻžāĻ° āĻāĻĢ
    āĻĒā§‹āĻ¸ā§āĻŸ āĻ‡āĻ¨ā§āĻ¸āĻŸāĻ˛āĻžāĻ° āĻāĻĢ
    PostInstallerF āĻ¸āĻŦ āĻ‡āĻ¨ā§āĻ¸āĻŸāĻ˛ āĻ•āĻ°āĻŦā§‡
    āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ¯āĻž āĻĢā§‡āĻĄā§‹āĻ°āĻž āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯
    āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ¨āĻž, āĻĒāĻ°ā§‡
    āĻĒā§āĻ°āĻĨāĻŽāĻŦāĻžāĻ° āĻĢā§‡āĻĄā§‹āĻ°āĻž āĻšāĻžāĻ˛āĻžāĻšā§āĻ›ā§‡āĨ¤ āĻāĻ°
    āĻœāĻ¨ā§āĻ¯ āĻ¸āĻšāĻœ...
    PostInstallerF āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°ā§āĻ¨
  • 2
    āĻ¸ā§āĻŸā§āĻ°ā§‡āĻ¸
    āĻ¸ā§āĻŸā§āĻ°ā§‡āĻ¸
    āĻ¸ā§āĻŸā§āĻ°ā§‡āĻ¸ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ āĻ¸āĻ°āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
    https://strace.io. strace is a
    āĻĄāĻžāĻ¯āĻŧāĻ—āĻ¨āĻŋāĻ¸ā§āĻŸāĻŋāĻ•, āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ‚ āĻāĻŦāĻ‚ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻŽā§‚āĻ˛āĻ•
    āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‡āĻ‰āĻœāĻžāĻ°āĻ¸ā§āĻĒā§‡āĻ¸ āĻŸā§āĻ°ā§‡āĻ¸āĻžāĻ°āĨ¤ āĻāĻŸāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
    āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§€āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻ¤ā§‡...
    āĻ¸ā§āĻŸā§āĻ°ā§‡āĻ¸ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°ā§āĻ¨
  • 3
    gMKVExtractGUI
    gMKVExtractGUI
    mkvextract āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻŋāĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ GUI (āĻāĻ° āĻ…āĻ‚āĻļ
    MKVToolNix) āĻ¯āĻž āĻ¸āĻ°ā§āĻŦāĻžāĻ§āĻŋāĻ• āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§‡ (āĻ¯āĻĻāĻŋ
    āĻ¸āĻŦ āĻ¨āĻ¯āĻŧ) mkvextract āĻāĻ° āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻāĻŦāĻ‚
    mkvinfo āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻŋāĻŸāĻŋāĨ¤ C#NET 4.0 āĻ āĻ˛ā§‡āĻ–āĻž,...
    gMKVExtractGUI āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°ā§āĻ¨
  • 4
    JasperReports āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ
    JasperReports āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ
    JasperReports āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻšāĻ˛
    āĻŦāĻŋāĻļā§āĻŦā§‡āĻ° āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻœāĻ¨āĻĒā§āĻ°āĻŋāĻ¯āĻŧ āĻ“āĻĒā§‡āĻ¨ āĻ¸ā§‹āĻ°ā§āĻ¸
    āĻŦā§āĻ¯āĻŦāĻ¸āĻžāĻ¯āĻŧāĻŋāĻ• āĻŦā§āĻĻā§āĻ§āĻŋāĻŽāĻ¤ā§āĻ¤āĻž āĻāĻŦāĻ‚ āĻ°āĻŋāĻĒā§‹āĻ°ā§āĻŸāĻŋāĻ‚
    āĻ‡āĻžā§āĻœāĻŋāĻ¨ āĻāĻŸāĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻœāĻžāĻ­āĻžāĻ¤ā§‡ āĻ˛ā§‡āĻ–āĻž
    āĻāĻŦāĻ‚ āĻāĻŸāĻž āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ...
    JasperReports āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°ā§āĻ¨
  • 5
    āĻĢā§āĻ°ā§āĻ¯āĻžāĻĒā§‡ āĻŦāĻ‡
    āĻĢā§āĻ°ā§āĻ¯āĻžāĻĒā§‡ āĻŦāĻ‡
    āĻĢā§āĻ°ā§āĻ¯āĻžāĻĒ āĻŦā§āĻ•āĻ¸ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ¨āĻžāĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻāĻŦāĻ‚ āĻ“āĻĒā§‡āĻ¨ āĻ¸ā§‹āĻ°ā§āĻ¸
    āĻĄā§‡āĻ¸ā§āĻ•āĻŸāĻĒ āĻŦāĻ‡ āĻ°āĻžāĻ–āĻžāĻ° āĻ¸āĻĢāĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°
    āĻ¸āĻšāĻœ āĻāĻŦāĻ‚ āĻ­āĻžāĻ˛ āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻŦā§‡
    āĻ›ā§‹āĻŸ āĻŦā§āĻ¯āĻŦāĻ¸āĻž āĻāĻŦāĻ‚ āĻĢā§āĻ°āĻŋāĻ˛ā§āĻ¯āĻžāĻ¨ā§āĻ¸āĻžāĻ°āĨ¤ āĻāĻŸāĻž...
    Frappe āĻŦāĻ‡ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°ā§āĻ¨
  • 6
    āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¸ā§‚āĻšāĻ• āĻĒāĻžāĻ‡āĻĨāĻ¨
    āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¸ā§‚āĻšāĻ• āĻĒāĻžāĻ‡āĻĨāĻ¨
    āĻ–āĻŦāĻ°: NumPy 1.11.2 āĻļā§‡āĻˇ āĻ°āĻŋāĻ˛āĻŋāĻœ
    āĻ¯ā§‡āĻŸāĻŋ āĻ¸ā§‹āĻ°ā§āĻ¸āĻĢā§‹āĻ°āĻœā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤ āĻšāĻžāĻ•āĻž
    āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹āĻœ, āĻŽā§āĻ¯āĻžāĻ• āĻāĻŦāĻ‚ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ā§‡āĻ° āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ
    āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖāĻžāĻ—āĻžāĻ°āĻ­ā§āĻ•ā§āĻ¤ āĻ‰ā§ŽāĻ¸ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻšāĻžāĻ° āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡...
    āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¸ā§‚āĻšāĻ• āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°ā§āĻ¨
  • āĻ†āĻ°āĻ“ Âģ

āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻ—ā§āĻ˛āĻŋ

Ad