server

package
v0.0.0-...-1275825 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 17, 2022 License: CC0-1.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const MaxShortListSize = 3

Variables

View Source
var NoResponseTime time.Time //time.Date(1970, 1, 1, 0, 0,0, 0, nil)

Functions

func CleanupMembers

func CleanupMembers(serviceContext *MembershipServiceContext)

func CloseChannels

func CloseChannels()

func HandleClockUpdates

func HandleClockUpdates(serviceContext *MembershipServiceContext)

func HandleHeartbeatResponseTracking

func HandleHeartbeatResponseTracking(memberToTrack *api.Member)

func HandleHeartbeatResponseTrackingUpdate

func HandleHeartbeatResponseTrackingUpdate(memberResponded *api.Member)

func HandleMember

func HandleMember(serviceContext *MembershipServiceContext)

func HandleMemberNotResponding

func HandleMemberNotResponding(member *api.Member, message []byte)

func HeartbeatCloseMembers

func HeartbeatCloseMembers(serviceContext *MembershipServiceContext)

func ListenForMulticast

func ListenForMulticast(serviceContext *MembershipServiceContext)

ListenForMulticast listens for BOOM servers annoucning themselves via UDP multicast

func MulticastExistence

func MulticastExistence(serviceContext *MembershipServiceContext)

func NotifyMembersOfLeaving

func NotifyMembersOfLeaving(goodbyeMessage []byte)

func SetReadDeadlineOnCancel

func SetReadDeadlineOnCancel(ctx context.Context, connection *net.UDPConn)

SetReadDeadlineOnCancel sets the deadline for connections to "now", once the context is finished else the sockets stay open, and do not let us close gracefully, see link below: https://github.com/golang/go/issues/20280#issuecomment-655588450

func StartMembershipServer

func StartMembershipServer(serviceContext *MembershipServiceContext)

StartMembershipServer starts the server that listens to all kinds of Membership messages

Types

type MembershipService

type MembershipService func(*MembershipServiceContext)

type MembershipServiceContext

type MembershipServiceContext struct {
	context.Context
	TracingEnabled    bool
	TracerProvider    *tracesdk.TracerProvider
	SelfAddress       net.Addr
	Self              *api.Member
	Identity          string
	HelloMessage      []byte
	GoodbyeMessage    []byte
	HeartbeatRequest  []byte
	HeartbeatResponse []byte
	ServerPort        string
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL