mirror of
https://github.com/stefanocasazza/ULib.git
synced 2025-09-28 19:05:55 +08:00
sync
This commit is contained in:
parent
fd941c38c0
commit
b1094e9481
|
@ -182,20 +182,77 @@ static inline uint32_t u_nextPowerOfTwo(uint32_t n)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Random number generator */
|
/**
|
||||||
|
* Random number generator
|
||||||
U_EXPORT double u_get_uniform(void);
|
*
|
||||||
U_EXPORT uint32_t u_get_num_random(uint32_t range);
|
* We use George Marsaglia's MWC algorithm to produce an unsigned integer
|
||||||
|
*
|
||||||
|
* see http://www.bobwheeler.com/statistics/Password/MarsagliaPost.txt
|
||||||
|
*/
|
||||||
|
|
||||||
static inline void u_set_seed_random(uint32_t u, uint32_t v)
|
static inline void u_set_seed_random(uint32_t u, uint32_t v)
|
||||||
{
|
{
|
||||||
U_INTERNAL_TRACE("u_set_seed_random(%u,%u)", u, v)
|
U_INTERNAL_TRACE("u_set_seed_random(%u,%u)", u, v)
|
||||||
|
|
||||||
if (u != 0) u_m_w = u;
|
U_INTERNAL_ASSERT_MAJOR(u, 0)
|
||||||
if (v != 0) u_m_z = v;
|
U_INTERNAL_ASSERT_MAJOR(v, 0)
|
||||||
|
|
||||||
|
u_m_w = u;
|
||||||
|
u_m_z = v;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline uint32_t u_get_num_random(void)
|
||||||
|
{
|
||||||
|
U_INTERNAL_TRACE("u_get_num_random()")
|
||||||
|
|
||||||
U_INTERNAL_ASSERT_MAJOR(u_m_w, 0)
|
U_INTERNAL_ASSERT_MAJOR(u_m_w, 0)
|
||||||
U_INTERNAL_ASSERT_MAJOR(u_m_z, 0)
|
U_INTERNAL_ASSERT_MAJOR(u_m_z, 0)
|
||||||
|
|
||||||
|
u_m_z = 36969 * (u_m_z & 65535) + (u_m_z >> 16);
|
||||||
|
u_m_w = 18000 * (u_m_w & 65535) + (u_m_w >> 16);
|
||||||
|
|
||||||
|
return (u_m_z << 16) + u_m_w; /* 0 <= u < 2^32 */
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline uint32_t u_get_num_random_range0(uint32_t range)
|
||||||
|
{
|
||||||
|
uint32_t result;
|
||||||
|
|
||||||
|
U_INTERNAL_TRACE("u_get_num_random_range0(%u)", range)
|
||||||
|
|
||||||
|
U_INTERNAL_ASSERT_MAJOR(range, 1)
|
||||||
|
|
||||||
|
result = u_get_num_random() % range;
|
||||||
|
|
||||||
|
U_INTERNAL_ASSERT_MINOR(result,range)
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline uint32_t u_get_num_random_range1(uint32_t range)
|
||||||
|
{
|
||||||
|
uint32_t result;
|
||||||
|
|
||||||
|
U_INTERNAL_TRACE("u_get_num_random_range1(%u)", range)
|
||||||
|
|
||||||
|
U_INTERNAL_ASSERT_MAJOR(range, 2)
|
||||||
|
|
||||||
|
result = (u_get_num_random() % (range-1))+1;
|
||||||
|
|
||||||
|
U_INTERNAL_ASSERT_RANGE(1,result,range-1)
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Produce a uniform random sample from the open interval (0, 1). The method will not return either end point */
|
||||||
|
|
||||||
|
static inline double u_get_uniform(void)
|
||||||
|
{
|
||||||
|
U_INTERNAL_TRACE("u_get_uniform()")
|
||||||
|
|
||||||
|
/* The magic number below is 1/(2^32 + 2). The result is strictly between 0 and 1 */
|
||||||
|
|
||||||
|
return (u_get_num_random() + 1.0) * 2.328306435454494e-10;
|
||||||
}
|
}
|
||||||
|
|
||||||
U_EXPORT const char* u_get_mimetype(const char* restrict suffix, int* pmime_index);
|
U_EXPORT const char* u_get_mimetype(const char* restrict suffix, int* pmime_index);
|
||||||
|
|
|
@ -176,7 +176,10 @@ struct U_EXPORT UServices {
|
||||||
UString code(len);
|
UString code(len);
|
||||||
char* ptr = code.data();
|
char* ptr = code.data();
|
||||||
|
|
||||||
for (uint32_t i = 0; i < len; ++i, ++ptr) *ptr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[u_get_num_random(64 - 3)];
|
for (uint32_t i = 0; i < len; ++i, ++ptr)
|
||||||
|
{
|
||||||
|
*ptr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"[u_get_num_random_range0(U_CONSTANT_SIZE("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"))];
|
||||||
|
}
|
||||||
|
|
||||||
code.size_adjust(len);
|
code.size_adjust(len);
|
||||||
|
|
||||||
|
|
|
@ -514,7 +514,7 @@ void u_initRandom(void)
|
||||||
|
|
||||||
/* seed the random generator */
|
/* seed the random generator */
|
||||||
|
|
||||||
u_set_seed_random(u_seed_hash >> 16, u_seed_hash % 4294967296);
|
u_set_seed_random(1+(u_seed_hash >> 16), 1+(u_seed_hash % 4294967296));
|
||||||
}
|
}
|
||||||
|
|
||||||
time_t u_getLocalNow(time_t sec)
|
time_t u_getLocalNow(time_t sec)
|
||||||
|
|
|
@ -2671,53 +2671,6 @@ int u_splitCommand(char* restrict s, uint32_t n, char** restrict argv, char* res
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* We use George Marsaglia's MWC algorithm to produce an unsigned integer.
|
|
||||||
*
|
|
||||||
* see http://www.bobwheeler.com/statistics/Password/MarsagliaPost.txt
|
|
||||||
*/
|
|
||||||
|
|
||||||
uint32_t u_get_num_random(uint32_t range)
|
|
||||||
{
|
|
||||||
uint32_t result;
|
|
||||||
|
|
||||||
U_INTERNAL_TRACE("u_get_num_random(%u)", range)
|
|
||||||
|
|
||||||
U_INTERNAL_ASSERT_MAJOR(u_m_w, 0)
|
|
||||||
U_INTERNAL_ASSERT_MAJOR(u_m_z, 0)
|
|
||||||
|
|
||||||
u_m_z = 36969 * (u_m_z & 65535) + (u_m_z >> 16);
|
|
||||||
u_m_w = 18000 * (u_m_w & 65535) + (u_m_w >> 16);
|
|
||||||
|
|
||||||
result = (u_m_z << 16) + u_m_w;
|
|
||||||
|
|
||||||
if (range)
|
|
||||||
{
|
|
||||||
result = (result % range)+1;
|
|
||||||
|
|
||||||
U_INTERNAL_ASSERT(result <= range)
|
|
||||||
}
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Produce a uniform random sample from the open interval (0, 1). The method will not return either end point */
|
|
||||||
|
|
||||||
double u_get_uniform(void)
|
|
||||||
{
|
|
||||||
uint32_t u;
|
|
||||||
|
|
||||||
U_INTERNAL_TRACE("u_get_uniform()")
|
|
||||||
|
|
||||||
/* 0 <= u < 2^32 */
|
|
||||||
|
|
||||||
u = u_get_num_random(0);
|
|
||||||
|
|
||||||
/* The magic number below is 1/(2^32 + 2). The result is strictly between 0 and 1 */
|
|
||||||
|
|
||||||
return (u + 1.0) * 2.328306435454494e-10;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function fnmatch() as specified in POSIX 1003.2-1992, section B.6. Compares a filename or pathname to a pattern
|
* Function fnmatch() as specified in POSIX 1003.2-1992, section B.6. Compares a filename or pathname to a pattern
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -126,7 +126,7 @@ void* USimulationError::checkForMatch(const char* call_name)
|
||||||
|
|
||||||
uint32_t range = (uint32_t) strtol(file_ptr, &file_ptr, 10);
|
uint32_t range = (uint32_t) strtol(file_ptr, &file_ptr, 10);
|
||||||
|
|
||||||
if (range > 0) match = (u_get_num_random(range) == (range / 2));
|
if (range > 0) match = (u_get_num_random_range1(range) == (range / 2));
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,7 +32,7 @@ static void usp_fork_db()
|
||||||
<!--#code
|
<!--#code
|
||||||
World::initOneResult();
|
World::initOneResult();
|
||||||
|
|
||||||
World::pworld_query->id = World::rnumber[u_now->tv_usec % 500];
|
World::pworld_query->id = World::rnumber[0];
|
||||||
|
|
||||||
#ifdef U_STATIC_ORM_DRIVER_PGSQL
|
#ifdef U_STATIC_ORM_DRIVER_PGSQL
|
||||||
if (pdrv)
|
if (pdrv)
|
||||||
|
|
|
@ -9,12 +9,21 @@ static void usp_fork_query() { World::handlerForkSql(); }
|
||||||
-->
|
-->
|
||||||
<!--#header
|
<!--#header
|
||||||
-->
|
-->
|
||||||
<!--#code
|
<!--#vcode
|
||||||
(void) World::pstmt_query->asyncPipelineMode(World::handlerResultSql);
|
uint32_t num_queries = UHTTP::getFormFirstNumericValue(1, 500);
|
||||||
|
|
||||||
|
/*
|
||||||
|
if (num_queries >= 20 &&
|
||||||
|
UServer_Base::startParallelization())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
-->
|
||||||
|
<!--#code
|
||||||
World::initResult();
|
World::initResult();
|
||||||
|
|
||||||
uint32_t num_queries = UHTTP::getFormFirstNumericValue(1, 500);
|
(void) World::pstmt_query->asyncPipelineMode(World::handlerResultSql);
|
||||||
|
|
||||||
for (uint32_t i = 0; i < num_queries; ++i)
|
for (uint32_t i = 0; i < num_queries; ++i)
|
||||||
{
|
{
|
||||||
|
|
|
@ -51,7 +51,7 @@ if (UOrmDriver::isAsyncPipelineModeAvaliable() == false)
|
||||||
|
|
||||||
World::pstmt_query->execute();
|
World::pstmt_query->execute();
|
||||||
|
|
||||||
World::pworld_query->randomNumber = u_get_num_random(10000-1);
|
World::pworld_query->randomNumber = u_get_num_random_range1(10000);
|
||||||
|
|
||||||
pstmt_update->execute();
|
pstmt_update->execute();
|
||||||
|
|
||||||
|
@ -76,7 +76,7 @@ else
|
||||||
|
|
||||||
*pquery++ = ',';
|
*pquery++ = ',';
|
||||||
|
|
||||||
pquery = u_num2str32(World::pworld_query->randomNumber = u_get_num_random(10000-1), pquery);
|
pquery = u_num2str32(World::pworld_query->randomNumber = u_get_num_random_range1(10000), pquery);
|
||||||
|
|
||||||
u_put_unalignedp16(pquery, U_MULTICHAR_CONSTANT16(')',','));
|
u_put_unalignedp16(pquery, U_MULTICHAR_CONSTANT16(')',','));
|
||||||
pquery += 2;
|
pquery += 2;
|
||||||
|
|
|
@ -239,7 +239,7 @@ public:
|
||||||
{
|
{
|
||||||
U_TRACE_NO_PARAM(0, "World::handlerFork()")
|
U_TRACE_NO_PARAM(0, "World::handlerFork()")
|
||||||
|
|
||||||
if (rnumber[0] == 0) for (uint32_t i = 0; i < 500; ++i) rnumber[i] = u_get_num_random(10000-1);
|
if (rnumber[0] == 0) for (uint32_t i = 0; i < 500; ++i) rnumber[i] = u_get_num_random_range1(10000);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void handlerForkSql()
|
static void handlerForkSql()
|
||||||
|
|
|
@ -75,11 +75,9 @@ public:
|
||||||
|
|
||||||
World::initOneResult();
|
World::initOneResult();
|
||||||
|
|
||||||
uint32_t i = u_now->tv_usec % 500;
|
handlerQuery(World::rnumber[0]);
|
||||||
|
|
||||||
handlerQuery(World::rnumber[i]);
|
handlerOneResult(World::rnumber[0]);
|
||||||
|
|
||||||
handlerOneResult(World::rnumber[i]);
|
|
||||||
|
|
||||||
World::endOneResult();
|
World::endOneResult();
|
||||||
}
|
}
|
||||||
|
@ -138,7 +136,7 @@ public:
|
||||||
|
|
||||||
# ifdef USE_MONGODB
|
# ifdef USE_MONGODB
|
||||||
(void) mc->findOne(World::rnumber[i], query);
|
(void) mc->findOne(World::rnumber[i], query);
|
||||||
(void) mc->update( World::rnumber[i], "randomNumber", World::rnum = u_get_num_random(10000-1));
|
(void) mc->update( World::rnumber[i], "randomNumber", World::rnum = u_get_num_random_range1(10000));
|
||||||
# endif
|
# endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -206,7 +204,7 @@ public:
|
||||||
(void) rc->get(start, ptr-start);
|
(void) rc->get(start, ptr-start);
|
||||||
|
|
||||||
*ptr = ' ';
|
*ptr = ' ';
|
||||||
ptr = u_num2str32(World::rnum = u_get_num_random(10000-1), ptr+1);
|
ptr = u_num2str32(World::rnum = u_get_num_random_range1(10000), ptr+1);
|
||||||
|
|
||||||
(void) rc->mset(start, ptr-start);
|
(void) rc->mset(start, ptr-start);
|
||||||
}
|
}
|
||||||
|
@ -262,7 +260,7 @@ public:
|
||||||
U_TRACE(0, "WorldNoSql::handlerUpdateElasticSearch(%u)", i)
|
U_TRACE(0, "WorldNoSql::handlerUpdateElasticSearch(%u)", i)
|
||||||
|
|
||||||
uint32_t len1 = u__snprintf(pbuffer1, 100, U_CONSTANT_TO_PARAM("%u/_update"), World::rnumber[i]),
|
uint32_t len1 = u__snprintf(pbuffer1, 100, U_CONSTANT_TO_PARAM("%u/_update"), World::rnumber[i]),
|
||||||
len2 = u__snprintf(pbuffer2, 100, U_CONSTANT_TO_PARAM("%u\"}}"), World::rnum = u_get_num_random(10000-1));
|
len2 = u__snprintf(pbuffer2, 100, U_CONSTANT_TO_PARAM("%u\"}}"), World::rnum = u_get_num_random_range1(10000));
|
||||||
|
|
||||||
(void) es->sendPOST(es_buffer1, len1+U_CONSTANT_SIZE("/tfb/world/"), es_buffer2, len2+U_CONSTANT_SIZE("{\"doc\":{\"_id\":\""));
|
(void) es->sendPOST(es_buffer1, len1+U_CONSTANT_SIZE("/tfb/world/"), es_buffer2, len2+U_CONSTANT_SIZE("{\"doc\":{\"_id\":\""));
|
||||||
}
|
}
|
||||||
|
|
|
@ -701,7 +701,7 @@ UString UServices::createToken(int alg)
|
||||||
U_TRACE(0, "UServices::createToken(%d)", alg)
|
U_TRACE(0, "UServices::createToken(%d)", alg)
|
||||||
|
|
||||||
UString output(80U);
|
UString output(80U);
|
||||||
uint32_t u = u_get_num_random(0);
|
uint32_t u = u_get_num_random();
|
||||||
|
|
||||||
u_dgst_init(alg, U_NULLPTR, 0);
|
u_dgst_init(alg, U_NULLPTR, 0);
|
||||||
|
|
||||||
|
|
|
@ -593,7 +593,7 @@ bool UWebSocket::sendData(USocket* socket, int type, const char* data, uint32_t
|
||||||
UString tmp(ncount);
|
UString tmp(ncount);
|
||||||
unsigned char* header = (unsigned char*)tmp.data();
|
unsigned char* header = (unsigned char*)tmp.data();
|
||||||
|
|
||||||
*((uint32_t*)masking_key) = u_get_num_random(0);
|
*((uint32_t*)masking_key) = u_get_num_random();
|
||||||
|
|
||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
|
@ -665,7 +665,7 @@ bool UWebSocket::sendControlFrame(USocket* socket, int opcode, const unsigned ch
|
||||||
UString tmp(ncount);
|
UString tmp(ncount);
|
||||||
unsigned char* header = (unsigned char*)tmp.data();
|
unsigned char* header = (unsigned char*)tmp.data();
|
||||||
|
|
||||||
*((uint32_t*)masking_key) = u_get_num_random(0);
|
*((uint32_t*)masking_key) = u_get_num_random();
|
||||||
|
|
||||||
header[0] = ( opcode | 0x80);
|
header[0] = ( opcode | 0x80);
|
||||||
header[1] = (payload_length | 0x80);
|
header[1] = (payload_length | 0x80);
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
0181
|
0188
|
||||||
|
|
|
@ -32,7 +32,7 @@ static void usp_fork_db()
|
||||||
<!--#code
|
<!--#code
|
||||||
World::initOneResult();
|
World::initOneResult();
|
||||||
|
|
||||||
World::pworld_query->id = World::rnumber[u_now->tv_usec % 500];
|
World::pworld_query->id = World::rnumber[0];
|
||||||
|
|
||||||
#ifdef U_STATIC_ORM_DRIVER_PGSQL
|
#ifdef U_STATIC_ORM_DRIVER_PGSQL
|
||||||
if (pdrv)
|
if (pdrv)
|
||||||
|
|
|
@ -9,12 +9,21 @@ static void usp_fork_query() { World::handlerForkSql(); }
|
||||||
-->
|
-->
|
||||||
<!--#header
|
<!--#header
|
||||||
-->
|
-->
|
||||||
<!--#code
|
<!--#vcode
|
||||||
(void) World::pstmt_query->asyncPipelineMode(World::handlerResultSql);
|
uint32_t num_queries = UHTTP::getFormFirstNumericValue(1, 500);
|
||||||
|
|
||||||
|
/*
|
||||||
|
if (num_queries >= 20 &&
|
||||||
|
UServer_Base::startParallelization())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
-->
|
||||||
|
<!--#code
|
||||||
World::initResult();
|
World::initResult();
|
||||||
|
|
||||||
uint32_t num_queries = UHTTP::getFormFirstNumericValue(1, 500);
|
(void) World::pstmt_query->asyncPipelineMode(World::handlerResultSql);
|
||||||
|
|
||||||
for (uint32_t i = 0; i < num_queries; ++i)
|
for (uint32_t i = 0; i < num_queries; ++i)
|
||||||
{
|
{
|
||||||
|
|
|
@ -51,7 +51,7 @@ if (UOrmDriver::isAsyncPipelineModeAvaliable() == false)
|
||||||
|
|
||||||
World::pstmt_query->execute();
|
World::pstmt_query->execute();
|
||||||
|
|
||||||
World::pworld_query->randomNumber = u_get_num_random(10000-1);
|
World::pworld_query->randomNumber = u_get_num_random_range1(10000);
|
||||||
|
|
||||||
pstmt_update->execute();
|
pstmt_update->execute();
|
||||||
|
|
||||||
|
@ -76,7 +76,7 @@ else
|
||||||
|
|
||||||
*pquery++ = ',';
|
*pquery++ = ',';
|
||||||
|
|
||||||
pquery = u_num2str32(World::pworld_query->randomNumber = u_get_num_random(10000-1), pquery);
|
pquery = u_num2str32(World::pworld_query->randomNumber = u_get_num_random_range1(10000), pquery);
|
||||||
|
|
||||||
u_put_unalignedp16(pquery, U_MULTICHAR_CONSTANT16(')',','));
|
u_put_unalignedp16(pquery, U_MULTICHAR_CONSTANT16(')',','));
|
||||||
pquery += 2;
|
pquery += 2;
|
||||||
|
|
|
@ -239,7 +239,7 @@ public:
|
||||||
{
|
{
|
||||||
U_TRACE_NO_PARAM(0, "World::handlerFork()")
|
U_TRACE_NO_PARAM(0, "World::handlerFork()")
|
||||||
|
|
||||||
if (rnumber[0] == 0) for (uint32_t i = 0; i < 500; ++i) rnumber[i] = u_get_num_random(10000-1);
|
if (rnumber[0] == 0) for (uint32_t i = 0; i < 500; ++i) rnumber[i] = u_get_num_random_range1(10000);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void handlerForkSql()
|
static void handlerForkSql()
|
||||||
|
|
|
@ -75,11 +75,9 @@ public:
|
||||||
|
|
||||||
World::initOneResult();
|
World::initOneResult();
|
||||||
|
|
||||||
uint32_t i = u_now->tv_usec % 500;
|
handlerQuery(World::rnumber[0]);
|
||||||
|
|
||||||
handlerQuery(World::rnumber[i]);
|
handlerOneResult(World::rnumber[0]);
|
||||||
|
|
||||||
handlerOneResult(World::rnumber[i]);
|
|
||||||
|
|
||||||
World::endOneResult();
|
World::endOneResult();
|
||||||
}
|
}
|
||||||
|
@ -138,7 +136,7 @@ public:
|
||||||
|
|
||||||
# ifdef USE_MONGODB
|
# ifdef USE_MONGODB
|
||||||
(void) mc->findOne(World::rnumber[i], query);
|
(void) mc->findOne(World::rnumber[i], query);
|
||||||
(void) mc->update( World::rnumber[i], "randomNumber", World::rnum = u_get_num_random(10000-1));
|
(void) mc->update( World::rnumber[i], "randomNumber", World::rnum = u_get_num_random_range1(10000));
|
||||||
# endif
|
# endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -206,7 +204,7 @@ public:
|
||||||
(void) rc->get(start, ptr-start);
|
(void) rc->get(start, ptr-start);
|
||||||
|
|
||||||
*ptr = ' ';
|
*ptr = ' ';
|
||||||
ptr = u_num2str32(World::rnum = u_get_num_random(10000-1), ptr+1);
|
ptr = u_num2str32(World::rnum = u_get_num_random_range1(10000), ptr+1);
|
||||||
|
|
||||||
(void) rc->mset(start, ptr-start);
|
(void) rc->mset(start, ptr-start);
|
||||||
}
|
}
|
||||||
|
@ -262,7 +260,7 @@ public:
|
||||||
U_TRACE(0, "WorldNoSql::handlerUpdateElasticSearch(%u)", i)
|
U_TRACE(0, "WorldNoSql::handlerUpdateElasticSearch(%u)", i)
|
||||||
|
|
||||||
uint32_t len1 = u__snprintf(pbuffer1, 100, U_CONSTANT_TO_PARAM("%u/_update"), World::rnumber[i]),
|
uint32_t len1 = u__snprintf(pbuffer1, 100, U_CONSTANT_TO_PARAM("%u/_update"), World::rnumber[i]),
|
||||||
len2 = u__snprintf(pbuffer2, 100, U_CONSTANT_TO_PARAM("%u\"}}"), World::rnum = u_get_num_random(10000-1));
|
len2 = u__snprintf(pbuffer2, 100, U_CONSTANT_TO_PARAM("%u\"}}"), World::rnum = u_get_num_random_range1(10000));
|
||||||
|
|
||||||
(void) es->sendPOST(es_buffer1, len1+U_CONSTANT_SIZE("/tfb/world/"), es_buffer2, len2+U_CONSTANT_SIZE("{\"doc\":{\"_id\":\""));
|
(void) es->sendPOST(es_buffer1, len1+U_CONSTANT_SIZE("/tfb/world/"), es_buffer2, len2+U_CONSTANT_SIZE("{\"doc\":{\"_id\":\""));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user