4.1.4 Basic Streaming (i.e., not “simple streaming”)
Topic Version | 1 | Published | 10/16/2017 | |
For Standard | ETPW14 v1 |
Alternatively, the producer may implement “basic” streaming. In this case, the ProtocolCapabilities of SimpleStreamer is omitted, and the consumer must send ChannelDescribe and ChannelStreamingStart messages.
Producer (Sensor)/ETP Server |
Consumer (Aggregator)/ETP Client |
|
---|---|---|
1 |
Provide an ETP WebSocket server at a known URL. |
|
2 |
Protocol 0: Open WebSocket via HTTP call to WebSocket URL. |
|
3 |
Protocol 0: Send RequestSession message and role as a “consumer”. |
|
4 |
Send OpenSession message which defines the supported protocols. |
|
5 |
Protocol 1: Send Start message, which may contain throttling parameters. |
|
6 |
Send ChannelDescribe message, which lists the channels of interest as an Energistics URI, for example: well(idwell)/wellbore(idwellbore)/log(idlog)/logCurveInfo(mnemonic) |
|
7 |
|
|
8 |
To specify the required channels and their starting points, send ChannelStreamingStart. |
|
9 |
Begin a sending loop, sending the requested ChannelData messages. |
|
10 |
Update the displays with data from the received ChannelData messages. |
|
11 |
(Optional) While sending data, send channel change messages, as appropriate: ChannelDataChange, ChannelStatusChange, ChannelRemove. |
|
12 |
(Optional) While receiving data, send data flow control messages, as appropriate: ChannelStreamingStop, ChannelStreamingStart. |
|
13 |
To terminate data transfer, send CloseSession. |