basic.go 608 Bytes
package actions

import (
	"fmt"
	"net"
	"pro2d/components/db"
	"pro2d/conf"
	"pro2d/utils"
)

type BasicServer struct {
	Database *db.Database
}

func NewServer() *BasicServer {
	return &BasicServer{
		Database: new(db.Database),
	}
}

func (b *BasicServer) Start(sConf *conf.SConf) (net.Listener, error) {
	if err := b.Database.Connect(sConf.MongoConf); err !=nil {
		utils.Sugar.Debugf("db error: %v", err)
		return nil, err
	}

	listing := fmt.Sprintf(":%d", sConf.Port)
	lis, err := net.Listen("tcp", listing)
	if err != nil {
		return nil, err
	}
	return lis, err
}

func (b *BasicServer) Close()  {
}