{{ message }}
Commit a46ddad
stream: refine the stream/iter backpressure
In `Writer`, there are two queues that matter: the slot queue
and the pending queue. The sync `writeSync`/`writevSync` only
use the slot queue. If writes cannot be accepted directly into
slots, they return `false`. The sync methods *never* enqueue
into the pending queue. The async `write`/`writev` will first
attempt to add to the slot queue; if it is full, then it will
attempt to add to the pending queue; if that is also full, the
backpressure policy kicks in.
Signed-off-by: James M Snell <jasnell@gmail.com>
PR-URL: #63697
Backport-PR-URL: #64675
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day>1 parent 557bf99 commit a46ddad
9 files changed
Lines changed: 185 additions & 201 deletions
File tree
- doc/api
- lib/internal/streams/iter
- test/parallel
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
57 | 57 | | |
58 | 58 | | |
59 | 59 | | |
60 | | - | |
61 | 60 | | |
62 | 61 | | |
63 | 62 | | |
| |||
765 | 764 | | |
766 | 765 | | |
767 | 766 | | |
768 | | - | |
769 | | - | |
770 | | - | |
771 | | - | |
772 | | - | |
773 | | - | |
774 | | - | |
775 | | - | |
776 | | - | |
777 | | - | |
778 | | - | |
779 | | - | |
780 | | - | |
781 | | - | |
782 | | - | |
783 | | - | |
784 | | - | |
785 | | - | |
786 | | - | |
787 | | - | |
788 | | - | |
789 | | - | |
790 | | - | |
791 | | - | |
792 | | - | |
793 | | - | |
794 | | - | |
795 | | - | |
796 | | - | |
797 | | - | |
798 | 767 | | |
799 | | - | |
800 | | - | |
801 | | - | |
802 | | - | |
| 768 | + | |
| 769 | + | |
| 770 | + | |
| 771 | + | |
803 | 772 | | |
804 | 773 | | |
805 | 774 | | |
| |||
810 | 779 | | |
811 | 780 | | |
812 | 781 | | |
813 | | - | |
814 | | - | |
815 | | - | |
816 | | - | |
817 | | - | |
818 | | - | |
819 | | - | |
| 782 | + | |
| 783 | + | |
| 784 | + | |
| 785 | + | |
820 | 786 | | |
821 | 787 | | |
822 | 788 | | |
| |||
839 | 805 | | |
840 | 806 | | |
841 | 807 | | |
842 | | - | |
843 | | - | |
844 | | - | |
845 | | - | |
846 | | - | |
847 | | - | |
848 | | - | |
| 808 | + | |
| 809 | + | |
| 810 | + | |
| 811 | + | |
849 | 812 | | |
850 | 813 | | |
851 | 814 | | |
| |||
867 | 830 | | |
868 | 831 | | |
869 | 832 | | |
870 | | - | |
871 | | - | |
| 833 | + | |
| 834 | + | |
| 835 | + | |
| 836 | + | |
872 | 837 | | |
873 | 838 | | |
874 | 839 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
480 | 480 | | |
481 | 481 | | |
482 | 482 | | |
| 483 | + | |
483 | 484 | | |
484 | 485 | | |
485 | 486 | | |
| |||
500 | 501 | | |
501 | 502 | | |
502 | 503 | | |
| 504 | + | |
| 505 | + | |
503 | 506 | | |
504 | | - | |
505 | | - | |
506 | | - | |
507 | | - | |
508 | | - | |
509 | | - | |
510 | | - | |
511 | | - | |
512 | | - | |
513 | | - | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
514 | 511 | | |
515 | 512 | | |
516 | 513 | | |
517 | 514 | | |
518 | 515 | | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
519 | 544 | | |
520 | 545 | | |
521 | 546 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
63 | 63 | | |
64 | 64 | | |
65 | 65 | | |
66 | | - | |
67 | | - | |
68 | 66 | | |
69 | 67 | | |
70 | 68 | | |
| |||
863 | 861 | | |
864 | 862 | | |
865 | 863 | | |
866 | | - | |
867 | | - | |
868 | | - | |
869 | | - | |
870 | | - | |
871 | | - | |
872 | | - | |
873 | | - | |
874 | | - | |
875 | | - | |
876 | | - | |
877 | | - | |
878 | 864 | | |
879 | 865 | | |
880 | 866 | | |
| |||
963 | 949 | | |
964 | 950 | | |
965 | 951 | | |
966 | | - | |
967 | | - | |
968 | | - | |
| 952 | + | |
969 | 953 | | |
970 | 954 | | |
971 | 955 | | |
| |||
974 | 958 | | |
975 | 959 | | |
976 | 960 | | |
977 | | - | |
978 | | - | |
979 | | - | |
| 961 | + | |
980 | 962 | | |
981 | 963 | | |
982 | 964 | | |
| |||
1027 | 1009 | | |
1028 | 1010 | | |
1029 | 1011 | | |
1030 | | - | |
1031 | | - | |
1032 | | - | |
1033 | | - | |
1034 | | - | |
1035 | | - | |
1036 | | - | |
1037 | | - | |
1038 | | - | |
1039 | | - | |
1040 | 1012 | | |
1041 | 1013 | | |
1042 | 1014 | | |
1043 | 1015 | | |
1044 | 1016 | | |
1045 | | - | |
1046 | | - | |
| 1017 | + | |
1047 | 1018 | | |
1048 | | - | |
1049 | | - | |
1050 | | - | |
1051 | | - | |
1052 | 1019 | | |
1053 | 1020 | | |
1054 | 1021 | | |
| |||
1065 | 1032 | | |
1066 | 1033 | | |
1067 | 1034 | | |
1068 | | - | |
1069 | | - | |
1070 | | - | |
1071 | | - | |
1072 | | - | |
1073 | | - | |
1074 | | - | |
1075 | | - | |
| 1035 | + | |
1076 | 1036 | | |
1077 | 1037 | | |
1078 | 1038 | | |
| |||
1094 | 1054 | | |
1095 | 1055 | | |
1096 | 1056 | | |
1097 | | - | |
1098 | | - | |
1099 | | - | |
1100 | | - | |
1101 | | - | |
1102 | | - | |
| 1057 | + | |
1103 | 1058 | | |
1104 | | - | |
1105 | 1059 | | |
1106 | 1060 | | |
1107 | 1061 | | |
| |||

0 commit comments