MCPcopy Create free account
hub / github.com/dogecoin/dogecoin / WriteReply

Method WriteReply

src/httpserver.cpp:601–613  ·  view source on GitHub ↗

Closure sent to main thread to request a reply to be sent to * a HTTP request. * Replies must be sent in the main loop in the main http thread, * this cannot be done from worker threads. */

Source from the content-addressed store, hash-verified

599 * this cannot be done from worker threads.
600 */
601void HTTPRequest::WriteReply(int nStatus, const std::string& strReply)
602{
603 assert(!replySent && req);
604 // Send event to main http thread to send reply message
605 struct evbuffer* evb = evhttp_request_get_output_buffer(req);
606 assert(evb);
607 evbuffer_add(evb, strReply.data(), strReply.size());
608 HTTPEvent* ev = new HTTPEvent(eventBase, true,
609 std::bind(evhttp_send_reply, req, nStatus, (const char*)NULL, (struct evbuffer *)NULL));
610 ev->trigger(0);
611 replySent = true;
612 req = 0; // transferred back to main thread
613}
614
615CService HTTPRequest::GetPeer()
616{

Callers 12

RESTERRFunction · 0.80
rest_headersFunction · 0.80
rest_blockFunction · 0.80
rest_chaininfoFunction · 0.80
rest_mempool_infoFunction · 0.80
rest_mempool_contentsFunction · 0.80
rest_txFunction · 0.80
rest_getutxosFunction · 0.80
rest_blockhash_by_heightFunction · 0.80
http_request_cbFunction · 0.80
JSONErrorReplyFunction · 0.80
HTTPReq_JSONRPCFunction · 0.80

Calls 3

triggerMethod · 0.80
dataMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected