static int setMcastInfo( McastInfo** const mcastInfo, const feedtypet feedtype) { ServiceAddr* mcastServAddr; int status = sa_new(&mcastServAddr, "224.0.0.1", 38800); if (status) { LOG_ADD0("Couldn't create multicast service address object"); } else { ServiceAddr* ucastServAddr; status = sa_new(&ucastServAddr, LOCAL_HOST, 0); if (status) { LOG_ADD0("Couldn't create unicast service address object"); } else { status = mi_new(mcastInfo, feedtype, mcastServAddr, ucastServAddr); if (status) { LOG_ADD0("Couldn't create multicast information object"); } else { sa_free(ucastServAddr); sa_free(mcastServAddr); } } } return status; }
static void init() { ServiceAddr* groupAddr = sa_new(GROUP_ADDR, GROUP_PORT); OP_ASSERT_TRUE(groupAddr != NULL); ServiceAddr* serverAddr = sa_new(SERVER_ADDR, SERVER_PORT); OP_ASSERT_TRUE(serverAddr != NULL); mcastInfo = mi_new(feedtype, groupAddr, serverAddr); OP_ASSERT_TRUE(mcastInfo != NULL); sa_free(groupAddr); sa_free(serverAddr); prodQ = (void*)2; }
static void test_sa_getInet6SockAddr(void) { static const char* const IP_ADDR = "::1"; static const unsigned short PORT = 1; ServiceAddr* serviceAddr; int status = sa_new(&serviceAddr, IP_ADDR, PORT); CU_ASSERT_EQUAL_FATAL(status, 0); struct sockaddr_storage inetSockAddr; socklen_t sockLen; status = sa_getInetSockAddr(serviceAddr, AF_INET6, true, &inetSockAddr, &sockLen); CU_ASSERT_EQUAL_FATAL(status, 0); CU_ASSERT_EQUAL(((struct sockaddr_in6*)&inetSockAddr)->sin6_family, AF_INET6); unsigned char buf[16]; CU_ASSERT_EQUAL(inet_pton(AF_INET6, IP_ADDR, buf), 1); CU_ASSERT_TRUE(memcmp(&((struct sockaddr_in6*)&inetSockAddr)->sin6_addr, buf, sizeof(buf)) == 0); CU_ASSERT_EQUAL(((struct sockaddr_in6*)&inetSockAddr)->sin6_port, htons(PORT)); CU_ASSERT_EQUAL(sockLen, sizeof(struct sockaddr_in6)); }
static void init() { static bool initialized; if (!initialized) { char buf[265]; SERVICE_ADDR = sa_new(HOSTNAME, PORT); OP_ASSERT_TRUE(SERVICE_ADDR != NULL); CWD = getcwd(buf, sizeof(buf)); OP_ASSERT_TRUE(CWD != NULL); initialized = true; } }
static void test_sa_getInetSockAddr(void) { static const char* const IP_ADDR = "127.0.0.1"; static const unsigned short PORT = 1; ServiceAddr* serviceAddr; int status = sa_new(&serviceAddr, IP_ADDR, PORT); CU_ASSERT_EQUAL_FATAL(status, 0); struct sockaddr_storage inetSockAddr; socklen_t sockLen; status = sa_getInetSockAddr(serviceAddr, true, &inetSockAddr, &sockLen); CU_ASSERT_EQUAL_FATAL(status, 0); CU_ASSERT_EQUAL(((struct sockaddr_in*)&inetSockAddr)->sin_family, AF_INET); CU_ASSERT_EQUAL(((struct sockaddr_in*)&inetSockAddr)->sin_addr.s_addr, inet_addr(IP_ADDR)); CU_ASSERT_EQUAL(((struct sockaddr_in*)&inetSockAddr)->sin_port, htons(PORT)); CU_ASSERT_EQUAL(sockLen, sizeof(struct sockaddr_in)); }