интересно в учительском решении избавились от не самой приятной цепочки вызов...

интересно в учительском решении избавились от не самой приятной цепочки вызовов с помощью метода setstate =) но мне интересно, правильно ли держать данные для записи (buffer) в состоянии connected, пусть он и используется только в нем. данные, на мой взгляд должны храниться выше, уже в самом tcpconnection. 

дмитрий фролов, приветствую.
в реальной жизни данные не хранятся в соединении, поэтому и в решении учителя такая реализация. в целом же, при организации кода лучше руководствоваться тем, что состояния - это просто диспетчеризация, а данные хранить в отведённых для этого хранилищах.


я поменял решение так, чтобы не возникало путаницы.