Skip to content

Commit 59bd2b0

Browse files
committed
Add missing file
1 parent eb6563d commit 59bd2b0

1 file changed

Lines changed: 69 additions & 0 deletions

File tree

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
#ifndef NETWORKSTREAMWORKER_H
2+
#define NETWORKSTREAMWORKER_H
3+
4+
#include "util/types.h"
5+
#include "util/fifo.h"
6+
7+
/*
8+
* States:
9+
* Error Something errornous has happened and can't go on
10+
* New First state before init
11+
* Init Initing state don't feed anything in this state
12+
* Waiting Waiting something not ready yet
13+
* Busy Is busy doing something can't process anything new
14+
* Ready Functioning ok
15+
* Reading Reading something and can't do anything else
16+
* Writing Writing something and can't do anything else
17+
* Connected Is connected to storage or server
18+
* Connecting Trying to connect storage or server
19+
* Disconnected Ain't connected to storage or server
20+
*
21+
* First state should be NETWORKSTREAMWORKER_STATE_UNKNOWN and
22+
* if state handling ain't supported by NetworkStreamWorker-class
23+
* then 'NETWORKSTREAMWORKER_STATE_NEW' should be treated as
24+
* NETWORKSTREAMWORKER_STATE_READY. Newly written SideChainWorker-class
25+
* should support state handling at least this NETWORKSTREAMWORKER_STATE_READY state.
26+
*/
27+
28+
enum NetworkStreamWorkerStates {
29+
NETWORKSTREAMWORKER_STATE_ERROR = -1,
30+
NETWORKSTREAMWORKER_STATE_NEW,
31+
NETWORKSTREAMWORKER_STATE_INIT,
32+
NETWORKSTREAMWORKER_STATE_WAITING,
33+
NETWORKSTREAMWORKER_STATE_BUSY,
34+
NETWORKSTREAMWORKER_STATE_READY,
35+
NETWORKSTREAMWORKER_STATE_READING,
36+
NETWORKSTREAMWORKER_STATE_WRITING,
37+
NETWORKSTREAMWORKER_STATE_CONNECTED,
38+
NETWORKSTREAMWORKER_STATE_CONNECTING,
39+
NETWORKSTREAMWORKER_STATE_DISCONNECTED
40+
};
41+
42+
class NetworkStreamWorker {
43+
public:
44+
NetworkStreamWorker()
45+
: m_networkStreamWorkerState(NETWORKSTREAMWORKER_STATE_NEW) {
46+
}
47+
virtual ~NetworkStreamWorker() { }
48+
virtual void process(const CSAMPLE* pBuffer, const int iBufferSize) = 0;
49+
virtual void shutdown() = 0;
50+
virtual void outputAvailable() {
51+
};
52+
virtual void setOutputFifo(FIFO<CSAMPLE>* pOutputFifo) {
53+
Q_UNUSED(pOutputFifo);
54+
};
55+
virtual bool threadWaiting() {
56+
return false;
57+
}
58+
virtual int getState() {
59+
return m_networkStreamWorkerState;
60+
}
61+
protected:
62+
virtual void setState(int state) {
63+
m_networkStreamWorkerState = state;
64+
}
65+
private:
66+
int m_networkStreamWorkerState;
67+
};
68+
69+
#endif /* NETWORKSTREAMWORKER_H */

0 commit comments

Comments
 (0)