close the socket if max channels
a couple of additions
added isOptimistic()
updated the regular choking