summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbt <bt@rctt.net>2026-05-16 17:53:52 +0200
committerbt <bt@rctt.net>2026-05-16 22:46:48 +0200
commitc363f6fd9c643db33941209a6e834c908165bbe3 (patch)
treee01466ca152c92d30fceef9def6a5da017fcfbde
parent3169d07cc6514280ad3e51d1c6c78802b06b9f57 (diff)
downloadsolec-c363f6fd9c643db33941209a6e834c908165bbe3.tar.gz
solec-c363f6fd9c643db33941209a6e834c908165bbe3.zip
Add timestamp for messages coming from user connections
-rw-r--r--server/message.go6
-rw-r--r--server/remote.go2
-rw-r--r--server/user.go2
3 files changed, 7 insertions, 3 deletions
diff --git a/server/message.go b/server/message.go
index 11644dc..cd5add6 100644
--- a/server/message.go
+++ b/server/message.go
@@ -30,7 +30,11 @@ func (s *Server) SendBroadcast(msg string) {
}
}
-func (s *Server) handleMessage(sender net.Conn, msg core.Message) error {
+func (s *Server) handleMessage(sender net.Conn, connType core.ConnType, msg core.Message) error {
+ if connType == core.ConnTypeUser {
+ msg.Timestamp = time.Now()
+ }
+
log.Println("message:", msg.Source, "->", msg.Target, msg.Content)
addr, err := core.ReadAddr(msg.Target)
diff --git a/server/remote.go b/server/remote.go
index 5d86da2..6f9bd66 100644
--- a/server/remote.go
+++ b/server/remote.go
@@ -126,7 +126,7 @@ func (s *Server) readRemoteInput(conn net.Conn) error {
func (s *Server) handleRemotePayload(sender net.Conn, payload any) error {
switch v := payload.(type) {
case core.Message:
- return s.handleMessage(sender, v)
+ return s.handleMessage(sender, core.ConnTypeServer, v)
default:
return core.ErrUnexpectedPayloadType
}
diff --git a/server/user.go b/server/user.go
index 4f78b6a..002ed89 100644
--- a/server/user.go
+++ b/server/user.go
@@ -115,7 +115,7 @@ func (s *Server) readUserInput(user *User, conn net.Conn) error {
func (s *Server) handleUserPayload(user *User, sender net.Conn, payload any) error {
switch v := payload.(type) {
case core.Message:
- return s.handleMessage(sender, v)
+ return s.handleMessage(sender, core.ConnTypeUser, v)
case core.Usermode:
return s.handleUsermode(user, sender, v)
default: