Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Active socket, implementation with state machine #68

Merged
merged 48 commits into from
Jul 18, 2023
Merged
Show file tree
Hide file tree
Changes from 39 commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
5e8b98a
Unit test for detection of disconnected receiver
bokner Jun 27, 2023
34f9159
wip
bokner Jun 27, 2023
8b6f9ff
wip (6 failing tests, disconnection detection test passed)
bokner Jun 28, 2023
41d0bb9
wip (recv timeout)
bokner Jun 30, 2023
2552fcf
Minor
bokner Jun 30, 2023
613d665
Changes to test cases
bokner Jul 1, 2023
69a6530
Store context in state
bokner Jul 2, 2023
29a5056
Call maybe_close on tcp_error
bokner Jul 2, 2023
0e76b1f
Replace some mock tests with real ones
bokner Jul 5, 2023
093767b
Make sure socket is invalidated on reconnection
bokner Jul 5, 2023
d68353f
Switching to gen_statem (wip)
bokner Jul 6, 2023
14ab8a9
Tests passed (except ones for frag responses have to be rewritten)
bokner Jul 7, 2023
472155a
Bug fixes, tests for fragmented messages
bokner Jul 10, 2023
a1174f4
Switching to latest elixir_hl7 breaks the tests
bokner Jul 10, 2023
2daeb38
Fix some tests
bokner Jul 10, 2023
903d779
Fix flaky test (disconnect on server side could result either in :clo…
bokner Jul 11, 2023
ee9e428
Switch to gen_statem
bokner Jul 11, 2023
43489e5
Another flaky test
bokner Jul 11, 2023
295a44e
Add test for 'one-at-a-time' send request
bokner Jul 11, 2023
d85d863
Restore mix files
bokner Jul 11, 2023
2ec626c
Minor
bokner Jul 12, 2023
d297c5a
Fix flaky test for concurrent sends
bokner Jul 12, 2023
1d66ece
Fix comments to the test case
bokner Jul 12, 2023
726cbf7
Fix comments to the test case
bokner Jul 12, 2023
cbb6c8b
Another attempt to fix flaky 'concurrent sends' test
bokner Jul 12, 2023
e06fc81
Merge branch 'active_socket' of github.com:bokner/elixir-mllp into ac…
bokner Jul 12, 2023
9b47271
Add 'responses match requests' test for concurrent requests
bokner Jul 12, 2023
1dda940
Update lib/mllp/client.ex
bokner Jul 12, 2023
f95ed7a
Fix TestDispatcher (ask receiver to slow down, if we want it to)
bokner Jul 12, 2023
2c2c400
Bring the naming in line with :gen_statem (i.e., 'state' refers to FS…
bokner Jul 12, 2023
ac37525
Use empty string for receive_buffer
bokner Jul 13, 2023
e2721d6
Changes to handle_receive/2 (remove byte_size/1 call; simplify the code)
bokner Jul 13, 2023
00b53bd
Use iolist for 'receive_buffer'
bokner Jul 13, 2023
950d99f
Handle 'data after trailer' case
bokner Jul 13, 2023
d19e13c
Fix some assert statements
bokner Jul 14, 2023
cb3ebb4
Switch backoff tests from mock to real
bokner Jul 14, 2023
62c9f1f
Handle trailer being split between packets
bokner Jul 14, 2023
74b735d
Address some review items
bokner Jul 15, 2023
d8337ba
Test for the client accepting requests in 'receiving' state
bokner Jul 15, 2023
7280cba
Pattern match for trailer_check
bokner Jul 16, 2023
00b0976
Reset last_byte_received
bokner Jul 16, 2023
1912983
Simplify buffer update
bokner Jul 16, 2023
a44cf72
Minor changes to test case
bokner Jul 16, 2023
0f3ba0a
Add 'send_timeout_close' to socket defaults
bokner Jul 17, 2023
9c6cbf1
Shutdown on unexpected packet
bokner Jul 17, 2023
b5db135
Bug fix: switch to :disconnected if conn has closed
bokner Jul 17, 2023
411dae6
Shutdown socket on receive timeout, if required
bokner Jul 18, 2023
416f254
Update cache version
bokner Jul 18, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Loading