mirror of
https://github.com/singchia/frontier.git
synced 2025-10-05 08:16:55 +08:00
exchange: add api and defines
This commit is contained in:
46
pkg/api/interface.go
Normal file
46
pkg/api/interface.go
Normal file
@@ -0,0 +1,46 @@
|
||||
package api
|
||||
|
||||
import (
|
||||
"net"
|
||||
|
||||
"github.com/singchia/geminio"
|
||||
)
|
||||
|
||||
type Exchange interface {
|
||||
// rpc, message and raw io to edge
|
||||
ForwardToEdge(*Meta, geminio.End)
|
||||
// stream to edge
|
||||
StreamToEdge(geminio.Stream)
|
||||
// rpc, message and raw io to service
|
||||
ForwardToService(geminio.End)
|
||||
// stream to service
|
||||
StreamToService(geminio.Stream)
|
||||
}
|
||||
|
||||
// edge related
|
||||
type Edgebound interface {
|
||||
ListEdges() []geminio.End
|
||||
// for management
|
||||
GetEdgeByID(edgeID uint64) geminio.End
|
||||
DelEdgeByID(edgeID uint64) error
|
||||
}
|
||||
|
||||
type EdgeInformer interface {
|
||||
EdgeOnline(edgeID uint64, meta []byte, addr net.Addr)
|
||||
EdgeOffline(edgeID uint64, meta []byte, addr net.Addr)
|
||||
EdgeHeartbeat(edgeID uint64, meta []byte, addr net.Addr)
|
||||
}
|
||||
|
||||
// service related
|
||||
type Servicebound interface {
|
||||
ListService() []geminio.End
|
||||
// for management
|
||||
GetService(service string) geminio.End
|
||||
DelSerivces(service string) error
|
||||
}
|
||||
|
||||
type ServiceInformer interface {
|
||||
ServiceOnline(serviceID uint64, service string, addr net.Addr)
|
||||
ServiceOffline(serviceID uint64, service string, addr net.Addr)
|
||||
ServiceHeartbeat(serviceID uint64, service string, addr net.Addr)
|
||||
}
|
Reference in New Issue
Block a user