Documentation
¶
Index ¶
- Constants
- func SendSeedLinkPacket(client *SeedLinkClient, data SeedLinkDataPacket, dataType int) error
- type CAPABILITIES
- type DATA
- type END
- type HELLO
- type INFO
- type SELECT
- type STATION
- type SeedLinkCapability
- type SeedLinkClient
- type SeedLinkConsumer
- type SeedLinkDataPacket
- type SeedLinkHooks
- type SeedLinkProvider
- type SeedLinkStation
- type SeedLinkStream
- type TIME
Constants ¶
const ( FLAG_INF = iota FLAG_ERR )
SeedLink error flags
const ( RES_OK = "OK\r\n" RES_ERR = "ERROR\r\n" )
SeedLink response data
const CHUNK_SIZE = 100
The Seedlink protocol specifies that the maximum length of a data packet is 512 bytes. which can accommodate approximately 100 samples (int32, 4 bytes each). Samples more than 100 will be sent in chunks of 100.
const RELEASE = "" /* 212-byte string literal not displayed */
SeedLink handshake constant flags
Variables ¶
This section is empty.
Functions ¶
func SendSeedLinkPacket ¶
func SendSeedLinkPacket(client *SeedLinkClient, data SeedLinkDataPacket, dataType int) error
Types ¶
type CAPABILITIES ¶
type CAPABILITIES struct{}
func (*CAPABILITIES) Callback ¶
func (*CAPABILITIES) Callback(client *SeedLinkClient, provider SeedLinkProvider, consumer SeedLinkConsumer, args ...string) error
Callback of "CAPABILITIES" command, implements handler interface
func (*CAPABILITIES) Fallback ¶
func (*CAPABILITIES) Fallback(client *SeedLinkClient, provider SeedLinkProvider, consumer SeedLinkConsumer, args ...string)
Fallback of "CAPABILITIES" command, implements handler interface
type DATA ¶
type DATA struct{}
func (*DATA) Callback ¶
func (*DATA) Callback(client *SeedLinkClient, provider SeedLinkProvider, consumer SeedLinkConsumer, args ...string) error
Callback of "DATA" command, implements handler interface
func (*DATA) Fallback ¶
func (*DATA) Fallback(client *SeedLinkClient, provider SeedLinkProvider, consumer SeedLinkConsumer, args ...string)
Fallback of "DATA" command, implements handler interface
type END ¶
type END struct {
DataType int
}
func (*END) Callback ¶
func (e *END) Callback(client *SeedLinkClient, provider SeedLinkProvider, consumer SeedLinkConsumer, args ...string) error
Callback of "END" command, implements handler interface
func (*END) Fallback ¶
func (*END) Fallback(client *SeedLinkClient, provider SeedLinkProvider, consumer SeedLinkConsumer, args ...string)
Fallback of "END" command, implements handler interface
type HELLO ¶
type HELLO struct{}
func (*HELLO) Callback ¶
func (*HELLO) Callback(client *SeedLinkClient, provider SeedLinkProvider, consumer SeedLinkConsumer, args ...string) error
Callback of "HELLO" command, implements handler interface
func (*HELLO) Fallback ¶
func (*HELLO) Fallback(client *SeedLinkClient, provider SeedLinkProvider, consumer SeedLinkConsumer, args ...string)
Fallback of "HELLO" command, implements handler interface
type INFO ¶
type INFO struct{}
func (*INFO) Callback ¶
func (i *INFO) Callback(client *SeedLinkClient, provider SeedLinkProvider, consumer SeedLinkConsumer, args ...string) error
Callback of "INFO <...>" command, implements handler interface
func (*INFO) Fallback ¶
func (i *INFO) Fallback(client *SeedLinkClient, provider SeedLinkProvider, consumer SeedLinkConsumer, args ...string)
Fallback of "INFO <...>" command, implements handler interface
type SELECT ¶
type SELECT struct{}
func (*SELECT) Callback ¶
func (*SELECT) Callback(client *SeedLinkClient, provider SeedLinkProvider, consumer SeedLinkConsumer, args ...string) error
Callback of "SELECT <...>" command, implements handler interface
func (*SELECT) Fallback ¶
func (*SELECT) Fallback(client *SeedLinkClient, provider SeedLinkProvider, consumer SeedLinkConsumer, args ...string)
Fallback of "SELECT <...>" command, implements handler interface
type STATION ¶
type STATION struct{}
func (*STATION) Callback ¶
func (s *STATION) Callback(client *SeedLinkClient, provider SeedLinkProvider, consumer SeedLinkConsumer, args ...string) error
Callback of "STATION <...> <...>" command, implements handler interface
func (*STATION) Fallback ¶
func (*STATION) Fallback(client *SeedLinkClient, provider SeedLinkProvider, consumer SeedLinkConsumer, args ...string)
Fallback of "STATION <...> <...>" command, implements handler interface
type SeedLinkCapability ¶
type SeedLinkCapability struct { XMLName xml.Name `xml:"capability"` Name string `xml:"name,attr"` }
Capability field model of INFO CAPABILITY command
type SeedLinkClient ¶
type SeedLinkConsumer ¶
type SeedLinkConsumer interface { Subscribe(clientId string, channels []string, eventHandler func(SeedLinkDataPacket)) error Unsubscribe(clientId string) error }
Consumer interface for SeedLink server to stream data
type SeedLinkDataPacket ¶
SeedLink data packet model
type SeedLinkHooks ¶
type SeedLinkHooks interface { OnConnection(client *SeedLinkClient) OnData(client *SeedLinkClient, data []byte) OnClose(client *SeedLinkClient) OnCommand(client *SeedLinkClient, command []string) }
SeedLink event hooks interface
type SeedLinkProvider ¶
type SeedLinkProvider interface { GetSoftware() string GetStartTime() time.Time GetCurrentTime() time.Time GetOrganization() string GetStations() []SeedLinkStation GetStreams() []SeedLinkStream GetCapabilities() []SeedLinkCapability QueryHistory(startTime, endTime time.Time, channels []string) ([]SeedLinkDataPacket, error) }
Provider interface for SeedLink server to get information
type SeedLinkStation ¶
type SeedLinkStation struct { XMLName xml.Name `xml:"station"` BeginSequence string `xml:"begin_seq,attr"` EndSequence string `xml:"end_seq,attr"` Station string `xml:"name,attr"` Network string `xml:"network,attr"` Description string `xml:"description,attr"` }
Station field model of INFO STATIONS command
type SeedLinkStream ¶
type SeedLinkStream struct { XMLName xml.Name `xml:"stream"` BeginTime string `xml:"begin_time,attr"` EndTime string `xml:"end_time,attr"` SeedName string `xml:"seedname,attr"` Location string `xml:"location,attr"` Type string `xml:"type,attr"` // Exclusive attribute to match station Station string `xml:"station,attr"` }
Stream field model of INFO STREAMS command
type TIME ¶
type TIME struct{}
func (*TIME) Callback ¶
func (t *TIME) Callback(client *SeedLinkClient, provider SeedLinkProvider, consumer SeedLinkConsumer, args ...string) error
Callback of "TIME <...>" command, implements handler interface
func (*TIME) Fallback ¶
func (*TIME) Fallback(client *SeedLinkClient, provider SeedLinkProvider, consumer SeedLinkConsumer, args ...string)
Fallback of "TIME <...>" command, implements handler interface