add a comment for MConnection#CanSend

also add a note to TestMConnectionSend
This commit is contained in:
Anton Kaliaev 2017-04-18 12:11:48 +04:00
parent fbedb426ce
commit 2ac69176e1
No known key found for this signature in database
GPG Key ID: 7B6881D965918214
2 changed files with 4 additions and 2 deletions

View File

@ -258,6 +258,8 @@ func (c *MConnection) TrySend(chID byte, msg interface{}) bool {
return ok return ok
} }
// CanSend returns true if you can send more data onto the chID, false
// otherwise. Use only as a heuristic.
func (c *MConnection) CanSend(chID byte) bool { func (c *MConnection) CanSend(chID byte) bool {
if !c.IsRunning() { if !c.IsRunning() {
return false return false

View File

@ -37,9 +37,9 @@ func TestMConnectionSend(t *testing.T) {
msg := "Ant-Man" msg := "Ant-Man"
assert.True(mconn.Send(0x01, msg)) assert.True(mconn.Send(0x01, msg))
// Note: subsequent Send/TrySend calls could pass because we are reading from
// the send queue in a separate goroutine.
assert.False(mconn.CanSend(0x01), "CanSend should return false because queue is full") assert.False(mconn.CanSend(0x01), "CanSend should return false because queue is full")
// assert.False(mconn.Send(0x01, msg), "Send should return false because queue is full")
// assert.False(mconn.TrySend(0x01, msg), "TrySend should return false because queue is full")
server.Read(make([]byte, len(msg))) server.Read(make([]byte, len(msg)))
assert.True(mconn.CanSend(0x01)) assert.True(mconn.CanSend(0x01))