remove stuff
[svn42.git] / go / brain / brain.go
diff --git a/go/brain/brain.go b/go/brain/brain.go
deleted file mode 100644 (file)
index 3bd8ce4..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-// (c) Bernhard Tittelbach, 2013
-
-package brain
-
-import "errors"
-
-type informationtuple struct {
-    name string
-    value interface{}
-}
-
-type informationretrievalpath struct {
-    name string
-    returnpath chan interface{}
-}
-
-type hippocampus map[string]interface{}
-
-type Brain struct {
-    storeTuple chan informationtuple
-    retrieveValue chan informationretrievalpath
-    shutdown chan bool
-}
-
-func New() *Brain {
-    b := new(Brain)
-    b.storeTuple = make(chan informationtuple)
-    b.retrieveValue = make(chan informationretrievalpath)
-    go b.runBrain()
-    return b
-}
-
-func (b *Brain) runBrain() {
-    var h hippocampus = make(hippocampus)
-    for {
-        select {
-            case newtuple := <- b.storeTuple:
-                h[newtuple.name] = newtuple.value
-
-            case retrievvalue := <- b.retrieveValue:
-                v, e := h[retrievvalue.name]
-                if e {
-                    retrievvalue.returnpath <- v
-                } else {
-                    retrievvalue.returnpath <- nil
-                }
-
-            case <- b.shutdown:
-                break
-        }
-    }
-}
-
-func (b *Brain) Shutdown() {
-    b.shutdown <- true
-}
-
-func (b *Brain) Oboite(name string, value interface{}) {
-    b.storeTuple <- informationtuple{name, value}
-}
-
-func (b *Brain) OmoiDashite(name string) (interface{}, error) {
-    rc := make(chan interface{})
-    b.retrieveValue <- informationretrievalpath{name, rc}
-    v := <- rc
-    if v == nil {
-        return v, errors.New("name not in brain")
-    }
-    return v, nil
-}
-
-func (b *Brain) OmoiDashiteBool(name string) (bool, error) {
-    v, e := b.OmoiDashite(name)
-    if e != nil {
-        return false, e
-    }
-    vc, ok := v.(bool)
-    if !ok {
-        return false, errors.New(name + " does not have type bool")
-    }
-    return vc, nil
-}
-
-func (b *Brain) OmoiDashiteInt(name string) (int, error) {
-    v, e := b.OmoiDashite(name)
-    if e != nil {
-        return 0, e
-    }
-    vc, ok := v.(int)
-    if !ok {
-        return 0, errors.New(name + " does not have type int")
-    }
-    return vc, nil
-}
-
-func (b *Brain) OmoiDashiteFloat(name string) (float64, error) {
-    v, e := b.OmoiDashite(name)
-    if e != nil {
-        return 0, e
-    }
-    vc, ok := v.(float64)
-    if !ok {
-        return 0, errors.New(name + " does not have type float64")
-    }
-    return vc, nil
-}
-
-func (b *Brain) OmoiDashiteString(name string) (string, error) {
-    v, e := b.OmoiDashite(name)
-    if e != nil {
-        return "", e
-    }
-    vc, ok := v.(string)
-    if !ok {
-        return "", errors.New(name + " does not have type string")
-    }
-    return vc, nil
-}
\ No newline at end of file