Commit Graph
7 Commits
Author SHA1 Message Date
Kristian Bendiksen 35614d160e #14683 Serve liveness requests on the gRPC server thread
Requests are queued by the completion queue thread and processed from the main
thread. A long running request, or an open progress dialog in the GUI, therefore
left every request unanswered for as long as that operation lasted, including
the liveness checks a client uses to decide whether ResInsight is still there.

Let a callback declare that it touches no application state, and serve those
directly on the completion queue thread instead of queueing them. GetVersion is
the only such callback, since it reads compile-time constants only. Everything
that touches the project or the data model is still processed on the main
thread, so no request can observe or modify the data model while another one is
running.

The allocated callback list is now used from both threads and is guarded by a
mutex. Shutdown takes a lock before flagging that it is in progress, so that it
waits for any dispatch already running on the completion queue thread and no new
request handler can be registered on a queue that is about to be shut down.

During a blocking call of 3.25 s, 65 pings were answered with a maximum latency
of 6.2 ms. Before this change none of them were answered until the call
completed.
2026-09-07 18:58:05 +02:00
Kristian Bendiksen b136616f37 Add clang-format config for proto files. 2025-04-14 08:41:35 +02:00
Magne Sjaastad e83b2e92f3 Add and use clang-tidy for GrpcInterface 2024-01-29 15:00:55 +01:00
Magne Sjaastadandmagnesj 9738e69f8d Add delete of object from Python
* Move several methods to protected
* Add delete() to Python rips objects
* Move functions to RiaGrpcHelper

Co-authored-by: magnesj <magnesj@users.noreply.github.com>
2024-01-29 08:46:45 +01:00
Magne Sjaastad 38bfa9ef1f #9588 Accumulate N cells for AABB tree 2022-12-19 15:24:53 +01:00
Magne Sjaastad 0e57cfe201 Memory Management : Adjustment and fixes
Add release of several static singleton objects
Fix several minor memory leaks
2022-03-03 14:39:41 +01:00
Gaute Lindkvist 2de5c9ce0b Move GrpcInterface into top level 2021-01-11 15:27:45 +01:00