Example #1
0
int main()
{
	Link link("L1", 10000000, 0.01, 64000);

	Node node1("H1");
	Node node2("H2");
	NetworkManager* nm = NetworkManager::getInstance();

	nm->registerLink(link);
	nm->registerNode(node1);
	nm->registerNode(node2);

	nm->connectLink("L1", "H1", "H2");

	Flow flow("F1", "H1", "H2", 20000000, TCP_RENO_t, 1);
	nm->registerFlow(flow);

	EventQueue* eq = EventQueue::getInstance();
	eq->run();

	Logger * logger = Logger::getInstance();
	delete logger;

	return EXIT_SUCCESS;
}
Example #2
0
int main()
{
	std::vector<Link> links;
	std::vector<Node> nodes;

	std::vector<std::string> link_names = {"L0", "L1", "L2", "L3", "L4", "L5"};
	std::vector<std::string> node_names = {"H1", "H2", "R1", "R2", "R3", "R4" };

	links.push_back(Link(link_names[0], 12500000, 0.01, 64000));
	for (int i = 1; i < 5; i++)
	{
		links.push_back(Link(link_names[i], 10000000, 0.01, 64000));
	}
	links.push_back(Link(link_names[5], 12500000, 0.01, 64000));
	for (int i = 0; i < 6; i++)
	{
		nodes.push_back(Node(node_names[i]));
	}

	NetworkManager* nm = NetworkManager::getInstance();

	for (int i = 0; i < 6; i++)
	{
		nm->registerLink(links[i]);
		nm->registerNode(nodes[i]);
	}

	nm->connectLink("L0", "H1", "R1");
	nm->connectLink("L1", "R1", "R2");
	nm->connectLink("L2", "R1", "R3");
	nm->connectLink("L3", "R2", "R4");
	nm->connectLink("L4", "R3", "R4");
	nm->connectLink("L5", "R4", "H2");

	Flow flow("F1", "H1", "H2", 20000000, TCP_FAST_t, 0.5);
	nm->registerFlow(flow);

	EventQueue* eq = EventQueue::getInstance();
	eq->run();

	Logger * logger = Logger::getInstance();
	delete logger;

	return EXIT_SUCCESS;
}