hayabusa

package module
v0.0.4 Latest Latest
Warning

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

Go to latest
Published: Oct 24, 2021 License: MIT Imports: 22 Imported by: 18

README

HAYABUSA Framework

Hayabusa is a server side framework for multi-play games, metaverse, vr event and so on.

  • Easy to understand and use for beginners
  • Powerful controller, flexible deployment
  • High performance, high throughput and concurrent

Installation

go get -u github.com/hayabusa-cloud/hayabusa

Quick start

https://github.com/hayabusa-cloud/hybs-quickstart

Example Project

https://github.com/hayabusa-cloud/hybs-server

Has builtin functions as follows:

HTTP/1.1 and HTTP/3 via QUIC
  • HTTP/1.1 on tcp4 or tcp6 socket
  • HTTP/3 on udp4 or udp6 socket
HTTP API controller
  • REST-style API design
  • fast URL locating
  • builtin reverse proxy
  • builtin access controll
  • builtin basic authentication
  • builtin request parameter check
  • useful builtin middlewares library
  • etc.
Realtime network communication via UDP socket
  • low latency, low memory usage and high throughput
  • micro second level time cost per request
  • supporting KCP and QUIC protocol
  • server side application layer logic
  • no need to care concurrency safety in application layer
      (there are exceptions )
  • multi-play room management and builtin matching algorithm
  • builtin area of interest algorithm
  • builtin basic authentication
  • useful builtin middlewares library
Plugins and modules
  • logger
  • event management, scheduler, timer
  • csv master data management
  • local memory cache
  • redis connection management
  • mongodb connections management
  • mysql connections management
  • sqlite connections management
  • builtin basic authentication
Coming Soon
  • test cases and benchmark
  • csharp sdk and unity sample project for realtime communication
  • js sdk and cocos sample project for realtime communication

Contact

E-mail: git@hybscloud.com

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func StartService

func StartService(applicationUp func(engine Engine), applicationDown func(engine Engine))

StartService initialize plugins, starts listening and network services applicationUp function will be run after initialized plugins applicationDown function will be run before unload plugins

Types

type Engine

type Engine interface {
	plugins.Logger
	Stop() (err error)
	MasterData() plugins.MasterDataManager
	LBClient(id string) *plugins.LBClient
	Cache(id string) *plugins.Cache
	Redis(id string) *plugins.Redis
	Mongo(id string) *plugins.Mongo
	MySQL(id string) *plugins.MySQL
	Sqlite(id string) *plugins.Sqlite
	Now() time.Time
	AppConfig() string
	Context() context.Context
	UserValue(key string) (value interface{}, ok bool)
	SetUserValue(key string, value interface{})
}

Engine is interface of engine implements

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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