Example #1
0
TEST(ConsistentHashMapTest, TestGetRange) {
  TestMap test_map;
  typedef std::pair<string, Range<size_t>> node_range_type;
  const string node1("node1");
  test_map.insert(0, node1);
  size_t range = numeric_limits<size_t>::max() / test_map.num_partitions();
  vector<size_t> expected_parts;
  for (unsigned int i = 0; i < test_map.num_partitions(); i++) {
    expected_parts.push_back(range*i);
  }
  vector<size_t> actual_parts = test_map.get_partitions();
  EXPECT_THAT(actual_parts, ContainerEq(expected_parts));

  Range<size_t> range1(0, range - 1);
  Range<size_t> range2(range, range*2 - 1);
  Range<size_t> range3(range*2, range*3 - 1);
  Range<size_t> range4(range*3, numeric_limits<size_t>::max());
  node_range_type range1_node1 = std::make_pair(node1, range1);
  node_range_type range2_node1 = std::make_pair(node1, range2);
  node_range_type range3_node1 = std::make_pair(node1, range3);
  node_range_type range4_node1 = std::make_pair(node1, range4);
  node_range_type tmp;
  EXPECT_TRUE(test_map.get_range(range/2, &tmp).ok());
  EXPECT_EQ(range1_node1, tmp);
  EXPECT_TRUE(test_map.get_range(range + range/2, &tmp).ok());
  EXPECT_EQ(range2_node1, tmp);
  EXPECT_TRUE(test_map.get_range(range*2 + range/2, &tmp).ok());
  EXPECT_EQ(range3_node1, tmp);
  EXPECT_TRUE(test_map.get_range(range*3 + range/2, &tmp).ok());
  EXPECT_EQ(range4_node1, tmp);
}
Example #2
0
void ofApp::setup()
{
    ofxNet::IPAddressRange range0;
    ofxNet::IPAddressRange range1(Poco::Net::IPAddress("192.168.0.1"));
    ofxNet::IPAddressRange range2(Poco::Net::IPAddress("192.168.0.33"), 23);
    ofxNet::IPAddressRange range3("2001:0db8:85a3::8a2e:0370:7334/64");
    ofxNet::IPAddressRange range4("192.168.5.219/28");
    ofxNet::IPAddressRange range5("2001:0db8:85a3::8a2e:0370:7334");
    ofxNet::IPAddressRange range6("0.0.0.0/31");

    std::cout << toString(range0);
    std::cout << "-----" << std::endl;
    std::cout << toString(range1);
    std::cout << "-----" << std::endl;
    std::cout << toString(range2);
    std::cout << "-----" << std::endl;
    std::cout << toString(range3);
    std::cout << "-----" << std::endl;
    std::cout << toString(range4);
    std::cout << "-----" << std::endl;
    std::cout << toString(range5);
    std::cout << "-----" << std::endl;

    Poco::Net::IPAddress test0("192.168.0.1");
    Poco::Net::IPAddress test1("2001:0db8:85a3::8a2e:0370:7334");
    Poco::Net::IPAddress test2("127.0.0.2");
    Poco::Net::IPAddress test3("10.10.10.2");
    Poco::Net::IPAddress test4("::FFFF");
    Poco::Net::IPAddress test5("0.0.0.1");

    std::cout << toString(range0, test0) << std::endl;
    std::cout << toString(range0, test1) << std::endl;
    std::cout << toString(range0, test2) << std::endl;
    std::cout << toString(range0, test3) << std::endl;
    std::cout << toString(range0, test4) << std::endl;
    std::cout << toString(range0, test4) << std::endl;

    std::cout << toString(range0, test5) << std::endl;
    std::cout << toString(range6, test5) << std::endl;

    ofxNet::IPAddressRange a("192.168.5.219/28");
    ofxNet::IPAddressRange b("192.168.5.219/27");

    std::cout << toString(a, b) << std::endl;
    std::cout << toString(b, a) << std::endl;

}