Паттерн: Состояние (State)
Исходник: TCPConnection.java, язык: java [code #517, hits: 7154]
автор: this [добавлен: 06.10.2007]
  1. package state;
  2.  
  3. public class TCPConnection {
  4. TCPState state;
  5.  
  6.  
  7.  
  8. public TCPConnection() {
  9. state = TCPClosed.Instance();
  10. }
  11.  
  12. public void ActiveOpen() {
  13. state.ActiveOpen(this);
  14. }
  15.  
  16. public void PassiveOpen() {
  17. state.PassiveOpen(this);
  18. }
  19.  
  20. public void Close() {
  21. state.Close(this);
  22. }
  23.  
  24. public void Send() {
  25. state.Send(this);
  26. }
  27.  
  28. public void Acknowledge() {
  29. state.Acknowledge(this);
  30. }
  31.  
  32. public void Synchronize() {
  33. state.Synchronize(this);
  34. }
  35.  
  36. public void ProcessOctet(TCPOctetStream octStream) {
  37. /* Обработка двоичного потока
  38. * ...
  39. */
  40. }
  41.  
  42. void ChangeState(TCPState state) {
  43. this.state = state;
  44. }
  45.  
  46. }
Сущность Context

Класс работы с tcp-соединениями.
Тестировалось на: java 1.5.0_04

+добавить реализацию