diff options
| author | Kyren223 <ulmliad223@gmail.com> | 2024-10-24 20:06:04 +0300 |
|---|---|---|
| committer | Kyren223 <ulmliad223@gmail.com> | 2024-10-24 20:06:04 +0300 |
| commit | d294b53e68f02f4aae98fc3f2133c7696706bf0b (patch) | |
| tree | 7072187c5f8034514e0f115661bae00c10ea328c /internal | |
| parent | a7f743f035d0f0d14400027e4781cad76503085a (diff) | |
chore: add docs
Diffstat (limited to 'internal')
| -rw-r--r-- | internal/packet/packet.go | 1 | ||||
| -rw-r--r-- | internal/server/server.go | 9 |
2 files changed, 8 insertions, 2 deletions
diff --git a/internal/packet/packet.go b/internal/packet/packet.go index 9365d93..9d84486 100644 --- a/internal/packet/packet.go +++ b/internal/packet/packet.go @@ -77,6 +77,7 @@ func (e PacketType) IsSupported() bool { } } +// True for all packets that a server may push passively to the client. func (e PacketType) IsPush() bool { switch e { case PacketError, PacketSendMessage: diff --git a/internal/server/server.go b/internal/server/server.go index ab178eb..ab88bd1 100644 --- a/internal/server/server.go +++ b/internal/server/server.go @@ -34,8 +34,6 @@ var ( tlsConfig *tls.Config ) -var ErrClosedNilListener error = errors.New("server: close on nil listener") - func init() { cert, err := tls.X509KeyPair(certPEM, keyPEM) if err != nil { @@ -54,6 +52,8 @@ type server struct { sessMu sync.RWMutex } +// Creates a new server on the given port. +// Will generate a unique node ID automatically, will crash if there are no available IDs. func NewServer(port uint16) server { assert.Assert(nodeId <= snowflake.NodeMax, "maximum amount of servers reached") node := snowflake.NewNode(nodeId) @@ -89,6 +89,11 @@ func (s *server) Node() *snowflake.Node { return s.node } +// Starts listening and accepting clients on the server's port. +// +// The given context is used for cancellation, +// note that the server will wait for all active connections to close before +// returning, this is a blocking operation. func (s *server) ListenAndServe(ctx context.Context) { listener, err := tls.Listen("tcp4", ":"+strconv.Itoa(int(s.Port)), tlsConfig) if err != nil { |
