Skip to content

Commit 18e9717

Browse files
authored
Merge pull request #29 from quickfix-j/copilot/add-threading-guides-to-sidebar
Add threading guides as external sidebar links and cross-reference from docs
2 parents 4040f3e + 5e57302 commit 18e9717

3 files changed

Lines changed: 15 additions & 0 deletions

File tree

docs/architecture.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,3 +66,5 @@ QuickFIX/J offers distinct threading models for connection handling, tailored fo
6666

6767
2. **ThreadedSocketAcceptor / ThreadedSocketInitiator (One-Thread-Per-Session)**
6868
Spawns a dedicated thread for processing messages on each connection. Ideal for scenarios with a small number of high-throughput connections where you want to eliminate context-switching overhead and allocate maximum CPU time directly to message processing.
69+
70+
For a deep technical reference on the threading internals — including the `EventHandlingStrategy` implementations, the `QFJ Timer` thread, `Session.next()` behaviour, and queue back-pressure — see the [Threading Model Technical Reference](https://github.com/quickfix-j/quickfixj/blob/master/docs/threading-model.md).

docs/developer-docs.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,4 +240,7 @@ void sendOrderCancelRequest() {
240240
```
241241

242242
### Note on Threading
243+
243244
`Session.sendToTarget()` is thread-safe. You can call it from any thread in your application. The message will be serialized, persisted to the `MessageStore`, and placed on the socket's write buffer asynchronously.
245+
246+
For a full explanation of QuickFIX/J's threading strategies (single-threaded vs. thread-per-session), queue capacity configuration, and thread safety requirements for your `Application` implementation, see the [Threading Developer Guide](https://github.com/quickfix-j/quickfixj/blob/master/docs/threading-developer-guide.md).

sidebars.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,11 @@ const sidebars: SidebarsConfig = {
2121
items: [
2222
'architecture',
2323
'use-cases',
24+
{
25+
type: 'link',
26+
label: 'Threading Model (Technical Reference)',
27+
href: 'https://github.com/quickfix-j/quickfixj/blob/master/docs/threading-model.md',
28+
},
2429
],
2530
},
2631
{
@@ -32,6 +37,11 @@ const sidebars: SidebarsConfig = {
3237
'repeating-groups',
3338
'user-defined-fields',
3439
'validation',
40+
{
41+
type: 'link',
42+
label: 'Threading Developer Guide',
43+
href: 'https://github.com/quickfix-j/quickfixj/blob/master/docs/threading-developer-guide.md',
44+
},
3545
],
3646
},
3747
{

0 commit comments

Comments
 (0)