本文整理汇总了C++中Transport::flush方法的典型用法代码示例。如果您正苦于以下问题:C++ Transport::flush方法的具体用法?C++ Transport::flush怎么用?C++ Transport::flush使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Transport
的用法示例。
在下文中一共展示了Transport::flush方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
static inline void transport_dump_png24(Transport & trans, const uint8_t * data,
const size_t width,
const size_t height,
const size_t rowsize,
const bool bgr)
{
detail::NoExceptTransport no_except_transport = { &trans, 0 };
png_struct * ppng = png_create_write_struct(PNG_LIBPNG_VER_STRING, nullptr, nullptr, nullptr);
png_set_write_fn(ppng, &no_except_transport, &detail::png_write_data, &detail::png_flush_data);
png_info * pinfo = png_create_info_struct(ppng);
detail::dump_png24_impl(
ppng, pinfo, data, width, height, rowsize, bgr,
[&]() noexcept {return !no_except_transport.error_id;}
);
if (!no_except_transport.error_id) {
png_write_end(ppng, pinfo);
trans.flush();
}
png_destroy_write_struct(&ppng, &pinfo);
// commented line below it to create row capture
// fwrite(this->data, 3, this->width * this->height, fd);
}
示例2: params
std::set<hrbytes> BulkGetKeysOperation::executeOperation(Transport& transport)
{
hr_scoped_ptr<HeaderParams> params(&(RetryOnFailureOperation<std::set<hrbytes> >::writeHeader(transport, BULK_GET_KEYS_REQUEST)));
transport.writeVInt(scope);
transport.flush();
RetryOnFailureOperation<std::set<hrbytes> >::readHeaderAndValidate(transport, *params);
std::set<hrbytes> result;
while (transport.readByte()==1) {
result.insert(transport.readArray());
}
return result;
}
示例3: executeOperation
VersionedOperationResponse RemoveIfUnmodifiedOperation::executeOperation(Transport& transport)
{
// 1) write header
hr_scoped_ptr<infinispan::hotrod::protocol::HeaderParams> params(
&(AbstractKeyOperation<VersionedOperationResponse>::writeHeader(
transport, REMOVE_IF_UNMODIFIED_REQUEST)));
//2) write message body
transport.writeArray(key);
transport.writeLong(version);
transport.flush();
return AbstractKeyOperation<VersionedOperationResponse>::returnVersionedOperationResponse(transport, *params);
}
示例4: executeOperation
VersionedOperationResponse RemoveIfUnmodifiedOperation::executeOperation(Transport& transport)
{
TRACE("Execute RemoteIfUnmodified(flags=%u, version=%lld)", flags, version);
TRACEBYTES("key = ", key);
// 1) write header
std::unique_ptr<infinispan::hotrod::protocol::HeaderParams> params(
&(AbstractKeyOperation<VersionedOperationResponse>::writeHeader(
transport, REMOVE_IF_UNMODIFIED_REQUEST)));
//2) write message body
transport.writeArray(key);
transport.writeLong(version);
transport.flush();
return AbstractKeyOperation<VersionedOperationResponse>::returnVersionedOperationResponse(transport, *params);
}
示例5: TRACE
std::map<std::string, std::string> StatsOperation::executeOperation(Transport& transport)
{
TRACE("Executing Stats");
hr_scoped_ptr<HeaderParams> params(&(RetryOnFailureOperation<std::map<std::string, std::string> >::writeHeader(transport, STATS_REQUEST)));
transport.flush();
RetryOnFailureOperation<std::map<std::string, std::string> >::readHeaderAndValidate(transport, *params);
int nrOfStats = transport.readVInt();
TRACE("Stats returning map of %d entries:", nrOfStats);
std::map<std::string, std::string> result;
for (int i = 0; i < nrOfStats; i++) {
std::string statName = transport.readString();
std::string statValue = transport.readString();
result[statName] = statValue;
TRACE("%s -> %s", statName.c_str(), statValue.c_str());
}
return result;
}
示例6: TRACE
std::set<hrbytes> BulkGetKeysOperation::executeOperation(Transport& transport)
{
TRACE("Execute BulkGetKeys(flags=%u,scope=%d)", flags, scope);
hr_scoped_ptr<HeaderParams> params(&(RetryOnFailureOperation<std::set<hrbytes> >::writeHeader(transport, BULK_GET_KEYS_REQUEST)));
transport.writeVInt(scope);
transport.flush();
RetryOnFailureOperation<std::set<hrbytes> >::readHeaderAndValidate(transport, *params);
std::set<hrbytes> result;
while (transport.readByte()==1) {
result.insert(transport.readArray());
}
if (logger.isTraceEnabled()) {
for (std::set<hrbytes>::iterator it = result.begin(); it != result.end(); ++it) {
TRACEBYTES("return key = ", *it);
}
if (result.size() == 0) {
TRACE("No data in bulk");
}
}
return result;
}