package main
import (
"flag"
"fmt"
"log"
"net"
"os"
"os/signal"
"syscall"
)
func main() {
port := flag.Int("port", 8080, "TCP port for gRPC listener")
gossipPort := flag.Int("gossip-port", 7946, "UDP port for gossip peer detection")
flag.Parse()
fmt.Printf("Starting Distributed Cache Node on port %d (Gossip UDP: %d)\n", *port, *gossipPort)
lis, err := net.Listen("tcp", fmt.Sprintf(":%d", *port))
if err != nil {
log.Fatalf("failed to listen on port %d: %v", *port, err)
}
defer lis.Close()
sigChan := make(chan os.Signal, 1)
signal.Notify(sigChan, syscall.SIGINT, syscall.SIGTERM)
<-sigChan
fmt.Println("Shutting down cache node cleanly...")
}