seisplotjs

3.2.6
dist/datalink.mjs

const for websocket subprotocol for datalink, DataLink1.0

WS_DATALINK_SUBPROTOCOL

Type: string

enum for modes, either QUERY or STREAM

MODE

const for query mode, QUERY

QUERY_MODE

const for streaming mode, STREAM

STREAM_MODE

MAX_PROC_NUM

dist/datalink.mjs

const for maximum process number to create fake number for datalink id, 2^16-2

MAX_PROC_NUM

USER_BROWSER

dist/datalink.mjs

const for fake user name for datalink id, browser

USER_BROWSER

Type: string

DEFAULT_PROGRAM

dist/datalink.mjs

const for fake program name for datalink id, seisplotjs

DEFAULT_PROGRAM

Type: string

DEFAULT_ARCH

dist/datalink.mjs

const for fake architecture for datalink id, javascript

DEFAULT_ARCH

Type: string

const for error response, ERROR

ERROR

Type: string

const for ok response, OK

OK

Type: string

const for info response, INFO

INFO

Type: string

const for id response, ID

ID

Type: string

PACKET

Type: string

STREAM

Type: string

ENDSTREAM

Type: string

MSEED_TYPE

Type: string

MSEED3_TYPE

Type: string

JSON_TYPE

Type: string

EARTHSCOPE_RINGSERVER_URL

dist/datalink.mjs
EARTHSCOPE_RINGSERVER_URL

Type: string

IRIS_RINGSERVER_URL

dist/datalink.mjs
IRIS_RINGSERVER_URL

extractDLProto

dist/datalink.mjs
extractDLProto(lines: any)
Parameters
lines (any)

DataLinkConnection

dist/datalink.mjs

A websocket based Datalink connection.

Note this cannot connect directly to a native TCP socket, instead it sends the datalink protocol over a websocket.

Currently only the IRIS ringserver, https://github.com/EarthScope/ringserver, supports websockets, but it may be possible to use third party tools to proxy the websocket to a TCP datalink socket.

The datalink protocol is documented here https://earthscope.github.io/libdali/datalink-protocol.html

new DataLinkConnection(url: any, packetHandler: any, errorHandler: any)
Parameters
url (any) websocket url to the ringserver
packetHandler (any) callback for packets as they arrive
errorHandler (any) callback for errors
Static Members
ensureDataLinkResponse(dl)
ensureDataLinkPacket(dl)
Instance Members
setOnClose(closeHandler)
connect()
isConnected()
mode
stream()
endStream()
close()
sendId()
encodeDL(header, data)
sendDLBinary(header, data)
sendDLCommand(command, dataString)
awaitDLBinary(header, data)
awaitDLCommand(command, dataString)
writeAck(streamid, hpdatastart, hpdataend, data)
id(programname, username, processid, architecture)
info(infoType)
infoStatus()
infoStreams()
infoConnections()
positionAfter(time)
positionAfterHPTime(hpTime)
match(pattern)
reject(pattern)
read(packetId)
handleArrayBuffer(rawData)

DataLinkResponse

dist/datalink.mjs

Datalink response, used for ID, INFO, OK and ERROR responses.

new DataLinkResponse(type: any, value: any, message: any)
Parameters
type (any)
value (any)
message (any)
Static Members
parse(header, data)
Instance Members
isError()
toString()

DataLinkPacket

dist/datalink.mjs

Represents a Datalink packet from the ringserver.

new DataLinkPacket(header: any, dataview: any)
Parameters
header (any)
dataview (any)
Instance Members
packetStart
packetEnd
packetTime
isMiniseed()
asMiniseed()
isMiniseed3()
asMiniseed3()
isJson()
asJson()

DataLinkIdStats

dist/datalink.mjs
new DataLinkIdStats(version: any, serverId: any, capabilities: any)
Parameters
version (any)
serverId (any)
capabilities (any)
Static Members
parseXMLAttributes(statusEl)
Instance Members
toString()

DataLinkStats

dist/datalink.mjs
new DataLinkStats(startTime: any, ringVersion: any, ringSize: any, packetSize: any, maximumPacketID: any, maximumPackets: any, memoryMappedRing: any, volatileRing: any, totalConnections: any, totalStreams: any, txPacketRate: any, txByteRate: any, rxPacketRate: any, rxByteRate: any, earliestPacketID: any, earliestPacketCreationTime: any, earliestPacketDataStartTime: any, earliestPacketDataEndTime: any, latestPacketID: any, latestPacketCreationTime: any, latestPacketDataStartTime: any, latestPacketDataEndTime: any)
Parameters
startTime (any)
ringVersion (any)
ringSize (any)
packetSize (any)
maximumPacketID (any)
maximumPackets (any)
memoryMappedRing (any)
volatileRing (any)
totalConnections (any)
totalStreams (any)
txPacketRate (any)
txByteRate (any)
rxPacketRate (any)
rxByteRate (any)
earliestPacketID (any)
earliestPacketCreationTime (any)
earliestPacketDataStartTime (any)
earliestPacketDataEndTime (any)
latestPacketID (any)
latestPacketCreationTime (any)
latestPacketDataStartTime (any)
latestPacketDataEndTime (any)
Static Members
parseXMLAttributes(statusEl)
Instance Members
toString()
new ThreadStat(flags: any, type: any, port: any)
Parameters
flags (any)
type (any)
port (any)
Static Members
parseXMLAttributes(statusEl)
Instance Members
toString()

StatusResponse

dist/datalink.mjs
new StatusResponse(idStats: any, datalinkStats: any, threadStats: any)
Parameters
idStats (any)
datalinkStats (any)
threadStats (any)
Static Members
fromDatalinkResponse(daliResp)
fromXML(daliXML)
Instance Members
toString()
new StreamStat(name: any, earliestPacketID: any, earliestPacketDataStartTime: any, earliestPacketDataEndTime: any, latestPacketID: any, latestPacketDataStartTime: any, latestPacketDataEndTime: any, dataLatency: any)
Parameters
name (any)
earliestPacketID (any)
earliestPacketDataStartTime (any)
earliestPacketDataEndTime (any)
latestPacketID (any)
latestPacketDataStartTime (any)
latestPacketDataEndTime (any)
dataLatency (any)
Static Members
parseXMLAttributes(statusEl)
Instance Members
toString()

StreamsResponse

dist/datalink.mjs
new StreamsResponse(datalinkStats: any, streams: any)
Parameters
datalinkStats (any)
streams (any)
Static Members
fromDatalinkResponse(daliResp)
fromXML(daliXML)
Instance Members
toString()

ConnectionsResponse

dist/datalink.mjs

Non implementation, just stores xml as a string. Unlikely to be useful remotely as ringserver doesn't allow.

new ConnectionsResponse(daliXML: any)
Parameters
daliXML (any) raw xml form server
Static Members
fromDatalinkResponse(daliResp)
fromXML(daliXML)
Instance Members
toString()

daliDateTime

dist/datalink.mjs

Convert DataLink style dates, like "2022-10-04 15:11:24.786990" to ISO form for DateTime

daliDateTime(dalitime: any): any
Parameters
dalitime (any) datalink time
Returns
any: DateTime

dateTimeToHPTime

dist/datalink.mjs

Convert DateTime to a HPTime number.

dateTimeToHPTime(m: any): any
Parameters
m (any) DateTime to convert
Returns
any: microseconds since epoch

hpTimeToDateTime

dist/datalink.mjs

Convert hptime number to a DateTime.

hpTimeToDateTime(hptime: any): any
Parameters
hptime (any) hptime to convert
Returns
any: DateTime in utc for the hptime

stringToUint8Array

dist/datalink.mjs

Encode string into a Uint8Array.

stringToUint8Array(dataString: any): any
Parameters
dataString (any) String to encode.
Returns
any: String as bytes in Uint8Array.