Commit 310560db authored by Boris Mühmer's avatar Boris Mühmer
Browse files

started with a basic environment

parent afc3aaec
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
package main

import (
	"os"

	"repositories.muehmer.net/bsmrgo/wizards/pkg/wizards/client"
)

func main() {
	client, err := client.New(os.Stdin, os.Stdout)
	if err != nil {
		panic(err)
	}
	err = client.Run()
	if err != nil {
		panic(err)
	}
}
+18 −0
Original line number Diff line number Diff line
package main

import (
	"os"

	"repositories.muehmer.net/bsmrgo/wizards/pkg/wizards/server"
)

func main() {
	server, err := server.New(os.Stdin, os.Stdout)
	if err != nil {
		panic(err)
	}
	err = server.Run()
	if err != nil {
		panic(err)
	}
}
+48 −0
Original line number Diff line number Diff line
package client

import (
	"fmt"
	"io"

	"repositories.muehmer.net/bsmrgo/wizards/pkg/wizards/library"
)

// Client contains environment information.
type Client struct {
	in  io.Reader
	out io.Writer
}

// New creates a client instance.
func New(in io.Reader, out io.Writer) (*Client, error) {
	if in == nil {
		return nil, fmt.Errorf(library.ErrorNoReader)
	}
	if out == nil {
		return nil, fmt.Errorf(library.ErrorNoWriter)
	}
	client := &Client{
		in:  in,
		out: out,
	}
	return client, nil
}

// Run starts the client instance.
func (c *Client) Run() error {
	c.header()
	c.footer()
	return nil
}

func (c *Client) header() {
	fmt.Fprintln(c.out, "**********************************************************************")
	fmt.Fprintln(c.out, "* Wizards Client is starting...                                      *")
	fmt.Fprintln(c.out, "**********************************************************************")
}

func (c *Client) footer() {
	fmt.Fprintln(c.out, "**********************************************************************")
	fmt.Fprintln(c.out, "* Wizards Client is terminating...                                   *")
	fmt.Fprintln(c.out, "**********************************************************************")
}
+14 −0
Original line number Diff line number Diff line
package library

import "fmt"

// Constants.
const (
	ServerAddress = "localhost"
	ServerPort    = "13579"
)

// AddressPort return the combination of a address and a port.
func AddressPort(address string, port string) string {
	return fmt.Sprintf("%s:%s", address, port)
}
+7 −0
Original line number Diff line number Diff line
package library

// Error messages
const (
	ErrorNoReader = "no reader specified"
	ErrorNoWriter = "no writer specified"
)
Loading