proxygen
folly::fibers::detail Namespace Reference

Classes

struct  ExtractFirstArg
 
struct  ExtractFirstArg< Ret(First, Args...)>
 
struct  ExtractFirstArg< Ret(T::*)(First, Args...) const >
 
struct  ExtractFirstArg< Ret(T::*)(First, Args...)>
 

Functions

std::string createABDTokenNotDispatchedExMsg (const std::vector< size_t > &vecTokensNotDispatched)
 
std::string createUnexpectedNumResultsABDUsageExMsg (size_t numExpectedResults, size_t numActualResults)
 

Detailed Description

For any functor F taking >= 1 argument, FirstArgOf<F>::type is the type of F's first parameter.

Rationale: we want to declare a function func(F), where F has the signature void(X) and func should return T<X> (T and X are some types). Solution:

template <typename f>=""> T<typename FirstArgOf<F>::type> func(F&& f);

Function Documentation

std::string folly::fibers::detail::createABDTokenNotDispatchedExMsg ( const std::vector< size_t > &  vecTokensNotDispatched)

Definition at line 23 of file AtomicBatchDispatcher.cpp.

References i, folly::sformat(), and string.

Referenced by folly::fibers::AtomicBatchDispatcher< InputT, ResultT >::DispatchBaton< InputT, ResultT >::fulfillPromises().

24  {
25  size_t numTokensNotDispatched = vecTokensNotDispatched.size();
26  assert(numTokensNotDispatched > 0);
27  size_t numSeqNumToPrint =
28  (numTokensNotDispatched > 10 ? 10 : numTokensNotDispatched);
29  std::string strInputsNotFound =
30  folly::sformat("{}", vecTokensNotDispatched[0]);
31  for (size_t i = 1; i < numSeqNumToPrint; ++i) {
32  strInputsNotFound += folly::sformat(", {}", vecTokensNotDispatched[i]);
33  }
34  if (numSeqNumToPrint < numTokensNotDispatched) {
35  strInputsNotFound += "...";
36  }
37  return folly::sformat(
38  "{} input tokens (seq nums: {}) destroyed before calling dispatch",
39  numTokensNotDispatched,
40  strInputsNotFound);
41 }
std::string sformat(StringPiece fmt, Args &&...args)
Definition: Format.h:280
const char * string
Definition: Conv.cpp:212
std::string folly::fibers::detail::createUnexpectedNumResultsABDUsageExMsg ( size_t  numExpectedResults,
size_t  numActualResults 
)

Definition at line 43 of file AtomicBatchDispatcher.cpp.

References folly::sformat().

Referenced by folly::fibers::AtomicBatchDispatcher< InputT, ResultT >::DispatchBaton< InputT, ResultT >::fulfillPromises().

45  {
46  return folly::sformat(
47  "Unexpected number of results ({}) returned from dispatch function, "
48  "expected ({})",
49  numActualResults,
50  numExpectedResults);
51 }
std::string sformat(StringPiece fmt, Args &&...args)
Definition: Format.h:280