Skip to content

Commit 543d19d

Browse files
committed
Replace Sink::read() with Sink::operator T() to equalise interfaces between Shared and Sink/Source.
1 parent aabef8d commit 543d19d

File tree

3 files changed

+7
-8
lines changed

3 files changed

+7
-8
lines changed

Diff for: examples/Threading/Demo_Source_Sink_Counter/Consumer.inot

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@ void setup()
77

88
void loop()
99
{
10-
Serial.println(counter.read());
10+
Serial.println(counter);
1111
}

Diff for: examples/Threading/Demo_Source_Sink_LED/Sink_Thread.inot

+1-2
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,5 @@ void loop()
1616
* this call will surely block until something comes from the connected SOURCE. In this case
1717
* the pace is dictated by the SOURCE that sends data every 100 ms.
1818
*/
19-
bool led_on = led.read();
20-
digitalWrite(LED_BUILTIN, led_on);
19+
digitalWrite(LED_BUILTIN, led);
2120
}

Diff for: src/threading/Sink.hpp

+5-5
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ class SinkBase
3636

3737
virtual ~SinkBase() { }
3838

39-
virtual T read() = 0;
39+
virtual operator T() = 0;
4040
virtual void inject(T const & value) = 0;
4141
};
4242

@@ -48,7 +48,7 @@ class SinkNonBlocking : public SinkBase<T>
4848
SinkNonBlocking() { }
4949
virtual ~SinkNonBlocking() { }
5050

51-
virtual T read() override;
51+
virtual operator T() override;
5252
virtual void inject(T const & value) override;
5353

5454

@@ -67,7 +67,7 @@ class SinkBlocking : public SinkBase<T>
6767
SinkBlocking();
6868
virtual ~SinkBlocking() { }
6969

70-
virtual T read() override;
70+
virtual operator T() override;
7171
virtual void inject(T const & value) override;
7272

7373

@@ -86,7 +86,7 @@ class SinkBlocking : public SinkBase<T>
8686
**************************************************************************************/
8787

8888
template<typename T>
89-
T SinkNonBlocking<T>::read()
89+
SinkNonBlocking<T>::operator T()
9090
{
9191
_mutex.lock();
9292
return _data;
@@ -113,7 +113,7 @@ SinkBlocking<T>::SinkBlocking()
113113
{ }
114114

115115
template<typename T>
116-
T SinkBlocking<T>::read()
116+
SinkBlocking<T>::operator T()
117117
{
118118
_mutex.lock();
119119
while (!_is_data_available)

0 commit comments

Comments
 (0)