server

package
v0.0.0-...-4ee07f5 Latest Latest
Warning

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

Go to latest
Published: Nov 1, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

Package server contains the HTTP, gRPC and CoAP server implementation.

Copyright (c) Abstract Machines SPDX-License-Identifier: Apache-2.0

Index

Constants

View Source
const StopWaitTime = 5 * time.Second

Variables

This section is empty.

Functions

func StopSignalHandler

func StopSignalHandler(ctx context.Context, cancel context.CancelFunc, logger *slog.Logger, svcName string, servers ...Server) error

StopSignalHandler stops the server when a signal is received.

Types

type BaseServer

type BaseServer struct {
	Ctx      context.Context
	Cancel   context.CancelFunc
	Name     string
	Address  string
	Config   Config
	Logger   *slog.Logger
	Protocol string
}

func NewBaseServer

func NewBaseServer(ctx context.Context, cancel context.CancelFunc, name string, config Config, logger *slog.Logger) BaseServer

type Config

type Config struct {
	Host         string `env:"HOST"            envDefault:"localhost"`
	Port         string `env:"PORT"            envDefault:""`
	CertFile     string `env:"SERVER_CERT"     envDefault:""`
	KeyFile      string `env:"SERVER_KEY"      envDefault:""`
	ServerCAFile string `env:"SERVER_CA_CERTS" envDefault:""`
	ClientCAFile string `env:"CLIENT_CA_CERTS" envDefault:""`
}

Config is a struct that contains the configuration for the server.

type Server

type Server interface {
	// Start starts the server.
	Start() error
	// Stop stops the server.
	Stop() error
}

Server is an interface that defines the methods to start and stop a server.

Directories

Path Synopsis
Package coap contains the CoAP server implementation.
Package coap contains the CoAP server implementation.
Package grpc contains the gRPC server implementation.
Package grpc contains the gRPC server implementation.
Package http contains the HTTP server implementation.
Package http contains the HTTP server implementation.

Jump to

Keyboard shortcuts

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