package syncdb
|
|
import (
|
"basic.com/valib/logger.git"
|
"encoding/json"
|
)
|
|
type UserDelegate struct {
|
|
}
|
|
// NodeMeta is used to retrieve meta-data about the current node
|
// when broadcasting an alive message. It's length is limited to
|
// the given byte size. This metadata is available in the Node structure.
|
func (d *UserDelegate) NodeMeta(limit int) []byte{
|
return []byte{}
|
}
|
|
// NotifyMsg is called when a user-data message is received.
|
// Care should be taken that this method does not block, since doing
|
// so would block the entire UDP packet receive loop. Additionally, the byte
|
// slice may be modified after the call returns, so it should be copied if needed
|
func (d *UserDelegate) NotifyMsg(msg []byte) {
|
recvMsg := msg
|
logger.Info("UserDelegate NotifyMsg.len:",len(recvMsg))
|
var dumpSqls []string
|
err := json.Unmarshal(recvMsg, &dumpSqls)
|
|
if err == nil {
|
logger.Debug("dumpSqls:", dumpSqls)
|
} else {
|
logger.Error("UserDelete unmarshal msg to dumpSqls err:",err)
|
}
|
}
|
|
// GetBroadcasts is called when user data messages can be broadcast.
|
// It can return a list of buffers to send. Each buffer should assume an
|
// overhead as provided with a limit on the total byte size allowed.
|
// The total byte size of the resulting data to send must not exceed
|
// the limit. Care should be taken that this method does not block,
|
// since doing so would block the entire UDP packet receive loop.
|
func (d *UserDelegate) GetBroadcasts(overhead, limit int) [][]byte {
|
return [][]byte{}
|
}
|
|
// LocalState is used for a TCP Push/Pull. This is sent to
|
// the remote side in addition to the membership information. Any
|
// data can be sent here. See MergeRemoteState as well. The `join`
|
// boolean indicates this is for a join instead of a push/pull.
|
func (d *UserDelegate) LocalState(join bool) []byte {
|
return []byte{}
|
}
|
|
// MergeRemoteState is invoked after a TCP Push/Pull. This is the
|
// state received from the remote side and is the result of the
|
// remote side's LocalState call. The 'join'
|
// boolean indicates this is for a join instead of a push/pull.
|
func (d *UserDelegate) MergeRemoteState(buf []byte, join bool) {
|
|
}
|