summaryrefslogtreecommitdiffstats
path: root/fnet
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #22492 from vespa-engine/havardpe/remember-port-numberHenning Baldersheim2022-05-062-2/+4
|\ | | | | remember port number
| * remember port numberHåvard Pettersen2022-05-062-2/+4
| | | | | | | | to avoid race on shutdown
* | Avoid nullptr src/dest args to zero-sized memcpyTor Brede Vekterli2022-05-041-4/+7
|/
* remove FastOS_ApplicationHåvard Pettersen2022-04-0810-130/+102
| | | | | | | | fixup (per application): - maybe ignore SIGPIPE - wire argc/argv untangle Vespa Test Framework strip down deprecated TestApp
* Add missing include statements. Check for atomic wait support.Tor Egge2022-04-051-0/+1
|
* extra sync neededHåvard Pettersen2022-04-041-0/+1
|
* more robust supervisor detachmentHåvard Pettersen2022-04-047-40/+67
|
* Remove unused variable in fnet unit test.Tor Egge2022-04-011-1/+0
|
* enable detaching a supervisor from a running transportHåvard Pettersen2022-03-3017-16/+323
| | | | | | | This is done by closing all connectors and connections related to the supervisor (via the server adapter interface). Also; the packet streamer was made a singleton to avoid additional (unneeded) references to the supervisor object.
* Avoid strncmp with zero size and nullptr argumentTor Brede Vekterli2022-03-251-1/+1
|
* Ensure memcpy is never called with nullptr source argumentTor Brede Vekterli2022-03-252-1/+6
|
* Avoid undefined behavior for zero-sized memcpy with nullptr argumentTor Brede Vekterli2022-03-251-2/+8
| | | | | It's technically undefined behavior if either src or dest to `memcpy` is `nullptr`, even if the size to copy is zero.
* remove admin channel conceptHåvard Pettersen2022-03-2418-429/+13
|
* Reduce exposure of SymbolTable, Stash and other classes not necessary for ↵Henning Baldersheim2022-03-101-1/+0
| | | | users of Slime.
* gc old process codeHåvard Pettersen2022-03-051-129/+120
| | | | also added read_line function to new Process code
* Add a simple adjustTimeoutByDetectedHz to compute a suitable timeout/naptime ↵Henning Baldersheim2022-02-281-1/+1
| | | | | | based on base VESPA_TIMER_HZ to use for random waiting when doing a poll based appraoch.
* Remove _methodMismatchHook memberHenning Baldersheim2022-02-281-1/+0
|
* remove connection-based session handlingHåvard Pettersen2022-02-287-591/+4
| | | | also remove method mismatch hook
* Remove inlining warnings (fnet).Tor Egge2022-02-262-1/+9
|
* - Use the typesafe vespalib::count_ms() to correcly count ms.Henning Baldersheim2022-02-253-3/+4
| | | | - Choose tick based on VESPA_TIMER_HZ/10. VESPA_TIMER_HZ has a default of 1000hz.
* Revert "Revert "- Create the common transport and threadpool in the main loop.""Henning Baldersheim2022-02-246-14/+13
|
* Revert "- Create the common transport and threadpool in the main loop."Henning Baldersheim2022-02-246-13/+14
|
* - Create the common transport and threadpool in the main loop.Henning Baldersheim2022-02-246-14/+13
| | | | | - Also use the common transport for config subscriptions. - Put The TransportConfig in the fnet namespace.
* In order to properly detach supervisor from the transport, do an async close ↵Henning Baldersheim2022-02-232-9/+6
| | | | and proper sync of trasnport threads.
* Revert "Revert "Use a common FNET_Transport owned by Proton in both ↵Henning Baldersheim2022-02-211-1/+6
| | | | SceduledExecutor …""
* Revert "Use a common FNET_Transport owned by Proton in both SceduledExecutor ↵Henning Baldersheim2022-02-211-6/+1
| | | | …"
* Merge pull request #21285 from vespa-engine/vekterli/more-threading-fixesHenning Baldersheim2022-02-215-27/+32
|\ | | | | More miscellaneous threading fixes [run-systemtest]
| * Make `FNET_Connection::_state` atomic to allow safe polling from outside lockTor Brede Vekterli2022-02-182-13/+13
| |
| * Ensure cross-thread visibility in testTor Brede Vekterli2022-02-181-8/+9
| |
| * Make finished-polling outside of lock thread safeTor Brede Vekterli2022-02-182-6/+10
| |
* | Use a common FNET_Transport owned by Proton in both SceduledExecutor and ↵Henning Baldersheim2022-02-201-1/+6
|/ | | | | | | | | | TransactionLogServer. This reduces the number of Transport object by 1 per document type and netto 1 in Proton. Each of them contains 2 threads. In addition it uses a common Transport for the RpcFileAcquirer objects used during config fetching. This prevents creating 3 temporary Transport objects on every reconfig.
* Make FNET_TransportThread IO components counter atomicTor Brede Vekterli2022-02-182-6/+10
| | | | | | Only checked by tests, but no obvious existing mutex to synchronize around, so turn accesses into relaxed atomics (internal visibility otherwise guaranteed due to transport thread invocation semantics).
* Simplify furtherTor Brede Vekterli2022-02-171-2/+1
|
* Remove early-out check that's no longer neededTor Brede Vekterli2022-02-171-5/+0
|
* Check FNET_Scheduler slots inside lockTor Brede Vekterli2022-02-171-4/+3
|
* Merge pull request #20990 from vespa-engine/havardpe/ignore-binaryHenning Baldersheim2022-01-311-0/+1
|\ | | | | ignore binary
| * ignore binaryHåvard Pettersen2022-01-311-0/+1
| |
* | Revert "Avoid using vespamalloc for small utility programs as it has a too ↵Henning Baldersheim2022-01-313-3/+4
|/ | | | hi… [run-systemtest]"
* Avoid using vespamalloc for small utility programs as it has a too high ↵Henning Baldersheim2022-01-283-4/+3
| | | | initial cost and memory footprint.
* Avoid strdup.Henning Baldersheim2021-11-246-58/+40
|
* Update 2019 Oath copyrights.gjoranv2021-10-271-1/+1
|
* Update Verizon Media copyright notices.gjoranv2021-10-074-4/+4
|
* Update 2018 copyright notices.gjoranv2021-10-071-1/+1
|
* Update 2017 copyright notices.gjoranv2021-10-07126-126/+126
|
* test rpc_mapping_monitorHåvard Pettersen2021-09-202-7/+15
| | | | using the new fnet::TransportDebugger tool
* low-level testing of fnet enabled byHåvard Pettersen2021-09-1616-39/+440
| | | | | | | | | | | | | | | | | | | 1. Manipulating how much time is spent waiting for events while also manipulating how the passing of time is observed by the transport threads. (fnet::TimeTools) 2. Periodic call-backs from FNET_Transport. All transport threads are blocked during these call-backs. Between each call-back, all transport threads perform a single event loop iteration and any async operations not performed in transport threads are flushed. (FNET_Transport::attach_capture_hook) 3. Combining 1 and 2 in a way that lets the test code run all transport threads one iteration at a time, letting the transport threads run concurrently with each other, but no transport thread is allowed to run concurrently with the test code. (fnet::TransportDebugger)
* start with zero-size buffersHåvard Pettersen2021-06-152-6/+7
|
* try to avoid valgrind complaints during shutdownArne Juul2021-06-082-0/+5
|
* drop empty buffersHåvard Pettersen2021-06-017-14/+58
|
* Track mutex size for Amazon Linux 2 on arm cpu.Tor Egge2021-04-301-0/+2
|