machine/message.go

31 lines
488 B
Go
Raw Normal View History

2024-04-04 17:33:22 +00:00
// Copyright 2024 Matthew Rich <matthewrich.conf@gmail.com>. All rights reserved.
package machine
import (
"fmt"
)
const (
ENTERSTATEEVENT = iota
EXITSTATEEVENT
)
type Eventtype int
type EventMessage struct {
on Eventtype
source State
dest State
}
type EventChannel chan EventMessage
func (e *EventChannel) Notify(m *EventMessage) {
*e <- *m
}
func (m EventMessage) String() string {
return fmt.Sprintf("{on: %d, source: %s, dest: %s}", m.on, m.source, m.dest)
}