|
|
- package peer
-
- import (
- "testing"
- "time"
- )
-
- func TestLocalConnection(t *testing.T) {
-
- c1 := NewClient(func(conn *Connection) *Peer {
- p := &Peer{conn: conn}
-
- ch1 := NewChannel(String("ch1"),
- nil,
- // XXX these channels should be buffered.
- make(chan ByteSlice),
- make(chan ByteSlice),
- )
-
- ch2 := NewChannel(String("ch2"),
- nil,
- make(chan ByteSlice),
- make(chan ByteSlice),
- )
-
- channels := make(map[String]*Channel)
- channels[ch1.Name] = ch1
- channels[ch2.Name] = ch2
- p.channels = channels
-
- return p
- })
-
- // XXX make c2 like c1.
-
- c2 := NewClient(func(conn *Connection) *Peer {
- return nil
- })
-
- // XXX clients don't have "local addresses"
- c1.ConnectTo(c2.LocalAddress())
-
- // lets send a message from c1 to c2.
- c1.Broadcast(String(""), String("message"))
- time.Sleep(500 * time.Millisecond)
-
- inMsg := c2.PopMessage()
-
- c1.Stop()
- c2.Stop()
- }
|