Skip to content

Commit e21820c

Browse files
OlegDokukaviktorklang
authored andcommitted
rollbacks thread-safe notion and fixes typos (reactive-streams#449)
* rollbacks thread-safe notion and fixes typos * Update CopyrightWaivers.txt
1 parent b0e9afc commit e21820c

File tree

2 files changed

+3
-1
lines changed

2 files changed

+3
-1
lines changed

CopyrightWaivers.txt

+1
Original file line numberDiff line numberDiff line change
@@ -42,3 +42,4 @@ angelsanz | Ángel Sanz, [email protected]
4242
shenghaiyang | 盛海洋, [email protected]
4343
kiiadi | Kyle Thomson, [email protected], Amazon.com
4444
jroper | James Roper, [email protected], Lightbend Inc.
45+
olegdokuka | Oleh Dokuka, [email protected], Netifi Inc.

README.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ followed by a possibly unbounded number of `onNext` signals (as requested by `Su
8080
| <a name="term_terminal_state">Terminal state</a> | For a Publisher: When `onComplete` or `onError` has been signalled. For a Subscriber: When an `onComplete` or `onError` has been received.|
8181
| <a name="term_nop">NOP</a> | Execution that has no detectable effect to the calling thread, and can as such safely be called any number of times.|
8282
| <a name="term_serially">Serial(ly)</a> | In the context of a [Signal](#term_signal), non-overlapping. In the context of the JVM, calls to methods on an object are serial if and only if there is a happens-before relationship between those calls (implying also that the calls do not overlap). When the calls are performed asynchronously, coordination to establish the happens-before relationship is to be implemented using techniques such as, but not limited to, atomics, monitors, or locks. |
83+
| <a name="term_thread-safe">Thread-safe</a> | Can be safely invoked synchronously, or asychronously, without requiring external synchronization to ensure program correctness. |
8384

8485
### SPECIFICATION
8586

@@ -142,7 +143,7 @@ public interface Subscriber<T> {
142143
| <a name="2.6">6</a> | A `Subscriber` MUST call `Subscription.cancel()` if the `Subscription` is no longer needed. |
143144
| [:bulb:](#2.6 "2.6 explained") | *The intent of this rule is to establish that Subscribers cannot just throw Subscriptions away when they are no longer needed, they have to call `cancel` so that resources held by that Subscription can be safely, and timely, reclaimed. An example of this would be a Subscriber which is only interested in a specific element, which would then cancel its Subscription to signal its completion to the Publisher.* |
144145
| <a name="2.7">7</a> | A Subscriber MUST ensure that all calls on its Subscription's request and cancel methods are performed [serially](#term_serially). |
145-
| [:bulb:](#2.7 "2.7 explained") | *The intent of this rule is to permit the calling of the request and cancel methods (including from multiple threads) if and only if a happens-before relation between each of the calls is established..* |
146+
| [:bulb:](#2.7 "2.7 explained") | *The intent of this rule is to permit the calling of the request and cancel methods (including from multiple threads) if and only if a happens-before relation between each of the calls is established.* |
146147
| <a name="2.8">8</a> | A `Subscriber` MUST be prepared to receive one or more `onNext` signals after having called `Subscription.cancel()` if there are still requested elements pending [see [3.12](#3.12)]. `Subscription.cancel()` does not guarantee to perform the underlying cleaning operations immediately. |
147148
| [:bulb:](#2.8 "2.8 explained") | *The intent of this rule is to highlight that there may be a delay between calling `cancel` and the Publisher observing that cancellation.* |
148149
| <a name="2.9">9</a> | A `Subscriber` MUST be prepared to receive an `onComplete` signal with or without a preceding `Subscription.request(long n)` call. |

0 commit comments

Comments
 (0)