Commit 56d0431
Mark Pollack
Reconnect a dropped SSE stream instead of failing the transport
The Streamable HTTP client ended the whole transport when its connection
stream closed, and when a session stream with a pending response
closed, even when the server had only detached it (backpressure, a
proxy in between restarting). The server keeps undelivered events in
the stream's mailbox, so the client now reopens the stream with a short
backoff and carries on. It still gives up when the server answers 404,
meaning the connection or session is gone, or after three reconnects in
a row that delivered no event, so a server that keeps closing cannot
cause an endless loop. The reopened stream replaces the old one only if
nothing else already did.1 parent 1b63a9a commit 56d0431
3 files changed
Lines changed: 131 additions & 8 deletions
File tree
- acp-core/src
- main/java/com/agentclientprotocol/sdk/client/transport
- test/java/com/agentclientprotocol/sdk/client/transport
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
39 | 39 | | |
40 | 40 | | |
41 | 41 | | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
42 | 47 | | |
43 | 48 | | |
44 | 49 | | |
| |||
Lines changed: 63 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
783 | 783 | | |
784 | 784 | | |
785 | 785 | | |
| 786 | + | |
| 787 | + | |
| 788 | + | |
| 789 | + | |
| 790 | + | |
| 791 | + | |
| 792 | + | |
| 793 | + | |
| 794 | + | |
| 795 | + | |
| 796 | + | |
| 797 | + | |
| 798 | + | |
786 | 799 | | |
787 | 800 | | |
788 | 801 | | |
789 | 802 | | |
790 | | - | |
791 | 803 | | |
792 | | - | |
793 | | - | |
| 804 | + | |
| 805 | + | |
| 806 | + | |
794 | 807 | | |
795 | 808 | | |
| 809 | + | |
| 810 | + | |
| 811 | + | |
| 812 | + | |
| 813 | + | |
| 814 | + | |
| 815 | + | |
| 816 | + | |
| 817 | + | |
| 818 | + | |
| 819 | + | |
| 820 | + | |
| 821 | + | |
| 822 | + | |
| 823 | + | |
| 824 | + | |
| 825 | + | |
| 826 | + | |
| 827 | + | |
| 828 | + | |
| 829 | + | |
| 830 | + | |
| 831 | + | |
| 832 | + | |
| 833 | + | |
| 834 | + | |
| 835 | + | |
| 836 | + | |
| 837 | + | |
| 838 | + | |
| 839 | + | |
| 840 | + | |
| 841 | + | |
796 | 842 | | |
797 | | - | |
| 843 | + | |
| 844 | + | |
| 845 | + | |
| 846 | + | |
| 847 | + | |
| 848 | + | |
| 849 | + | |
798 | 850 | | |
799 | 851 | | |
800 | 852 | | |
801 | | - | |
802 | 853 | | |
803 | 854 | | |
804 | 855 | | |
| |||
873 | 924 | | |
874 | 925 | | |
875 | 926 | | |
| 927 | + | |
| 928 | + | |
| 929 | + | |
| 930 | + | |
| 931 | + | |
| 932 | + | |
876 | 933 | | |
877 | 934 | | |
878 | 935 | | |
| |||
939 | 996 | | |
940 | 997 | | |
941 | 998 | | |
| 999 | + | |
942 | 1000 | | |
943 | 1001 | | |
944 | 1002 | | |
| |||
Lines changed: 63 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
828 | 828 | | |
829 | 829 | | |
830 | 830 | | |
831 | | - | |
832 | | - | |
833 | | - | |
| 831 | + | |
| 832 | + | |
| 833 | + | |
| 834 | + | |
| 835 | + | |
| 836 | + | |
834 | 837 | | |
835 | 838 | | |
836 | 839 | | |
| |||
858 | 861 | | |
859 | 862 | | |
860 | 863 | | |
| 864 | + | |
| 865 | + | |
| 866 | + | |
| 867 | + | |
| 868 | + | |
| 869 | + | |
| 870 | + | |
| 871 | + | |
| 872 | + | |
| 873 | + | |
| 874 | + | |
| 875 | + | |
| 876 | + | |
| 877 | + | |
| 878 | + | |
| 879 | + | |
| 880 | + | |
| 881 | + | |
| 882 | + | |
| 883 | + | |
| 884 | + | |
| 885 | + | |
| 886 | + | |
| 887 | + | |
| 888 | + | |
| 889 | + | |
| 890 | + | |
| 891 | + | |
| 892 | + | |
| 893 | + | |
| 894 | + | |
| 895 | + | |
| 896 | + | |
| 897 | + | |
| 898 | + | |
| 899 | + | |
| 900 | + | |
| 901 | + | |
| 902 | + | |
| 903 | + | |
| 904 | + | |
| 905 | + | |
| 906 | + | |
| 907 | + | |
| 908 | + | |
| 909 | + | |
| 910 | + | |
| 911 | + | |
| 912 | + | |
| 913 | + | |
| 914 | + | |
| 915 | + | |
| 916 | + | |
| 917 | + | |
| 918 | + | |
| 919 | + | |
| 920 | + | |
861 | 921 | | |
862 | 922 | | |
863 | 923 | | |
| |||
0 commit comments