mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-05-02 06:06:10 -04:00
Prepare for merging
This commit is contained in:
parent
b1860d8682
commit
1d4ca64dee
27 changed files with 1442 additions and 992 deletions
|
@ -4,9 +4,8 @@
|
|||
* Copyright (C) 2018-2019 Gioacchino Mazzurco <gio@eigenlab.org> *
|
||||
* *
|
||||
* This program is free software: you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU Affero General Public License as *
|
||||
* published by the Free Software Foundation, either version 3 of the *
|
||||
* License, or (at your option) any later version. *
|
||||
* it under the terms of the GNU Affero General Public License version 3 as *
|
||||
* published by the Free Software Foundation. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
|
@ -43,19 +42,23 @@ $%paramsDeclaration%$
|
|||
|
||||
$%inputParamsDeserialization%$
|
||||
|
||||
const std::weak_ptr<rb::Service> weakService(mService);
|
||||
const std::weak_ptr<rb::Session> weakSession(session);
|
||||
$%callbackName%$ = [this, weakSession]($%callbackParams%$)
|
||||
$%callbackName%$ = [this, weakService, weakSession]($%callbackParams%$)
|
||||
{
|
||||
auto session = weakSession.lock();
|
||||
if(!session || session->is_closed()) return;
|
||||
|
||||
auto lService = weakService.lock();
|
||||
if(!lService || lService->is_down()) return;
|
||||
|
||||
$%callbackParamsSerialization%$
|
||||
|
||||
std::stringstream sStream;
|
||||
sStream << "data: " << compactJSON << ctx.mJson << "\n\n";
|
||||
const std::string message = sStream.str();
|
||||
|
||||
mService->schedule( [weakSession, message]()
|
||||
lService->schedule( [weakSession, message]()
|
||||
{
|
||||
auto session = weakSession.lock();
|
||||
if(!session || session->is_closed()) return;
|
||||
|
|
|
@ -326,7 +326,20 @@ int main(int argc, char *argv[])
|
|||
|
||||
QString sessionDelayedClose;
|
||||
if(hasMultiCallback)
|
||||
sessionDelayedClose = "RsThread::async( [=](){ std::this_thread::sleep_for(std::chrono::seconds(maxWait+120)); mService->schedule( [=](){ auto session = weakSession.lock(); if(session && session->is_open()) session->close(); } ); } );";
|
||||
sessionDelayedClose =
|
||||
"RsThread::async( [=]()"
|
||||
"{"
|
||||
"std::this_thread::sleep_for("
|
||||
"std::chrono::seconds(maxWait+120) );"
|
||||
"auto lService = weakService.lock();"
|
||||
"if(!lService || lService->is_down()) return;"
|
||||
"lService->schedule( [=]()"
|
||||
"{"
|
||||
"auto session = weakSession.lock();"
|
||||
"if(session && session->is_open())"
|
||||
"session->close();"
|
||||
"} );"
|
||||
"} );";
|
||||
|
||||
QString callbackParamsSerialization;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue