Changeset 9774 for lang/cplusplus

Show
Ignore:
Timestamp:
04/18/08 23:42:14 (5 years ago)
Author:
kazuho
Message:

strip out transfer logic to separate class

Location:
lang/cplusplus/friends_framework/trunk
Files:
2 added
3 modified

Legend:

Unmodified
Added
Removed
  • lang/cplusplus/friends_framework/trunk/include/CoopSocket.h

    r9680 r9774  
    44#include <sys/types.h> 
    55#include <sys/socket.h> 
     6#include "CoopThread.h" 
    67#include "CoopBuffer.h" 
    78 
  • lang/cplusplus/friends_framework/trunk/include/friends_framework.h

    r9680 r9774  
    88#include "CoopSocket.h" 
    99#include "CoopListener.h" 
     10#include "CoopTransfer.h" 
    1011 
    1112#endif 
  • lang/cplusplus/friends_framework/trunk/test/proxy.cpp

    r9680 r9774  
    3333  void OnClientRead(CoopSocketReader *) { 
    3434    ResetTimeout(); 
    35     dataToServer = clientRead.Read(); 
    36     if (dataToServer.Size() == 0) { 
     35    if (! CoopTransfer::OnRead(&clientRead, &serverWrite, dataToServer)) 
    3736      delete this; 
    38       return; 
    39     } 
    40     serverWrite.isActive = true; 
    41     clientRead.isActive = false; 
    4237  } 
    43   void OnServerWrite(CoopSocketWriter *s) { 
     38  void OnServerWrite(CoopSocketWriter *) { 
    4439    ResetTimeout(); 
    45     if (! serverWrite.Write(dataToServer)) { 
     40    if (! CoopTransfer::OnWrite(&clientRead, &serverWrite, dataToServer)) 
    4641      delete this; 
    47       return; 
    48     } 
    49     if (dataToServer.Size() == 0) { 
    50       clientRead.isActive = true; 
    51       serverWrite.isActive = false; 
    52     } 
    5342  } 
    5443  void OnServerRead(CoopSocketReader *) { 
    5544    ResetTimeout(); 
    56     dataToClient = serverRead.Read(); 
    57     if (dataToClient.Size() == 0) { 
     45    if (! CoopTransfer::OnRead(&serverRead, &clientWrite, dataToClient)) 
    5846      delete this; 
    59       return; 
    60     } 
    61     clientWrite.isActive = true; 
    62     serverRead.isActive = false; 
    6347  } 
    6448  void OnClientWrite(CoopSocketWriter *) { 
    6549    ResetTimeout(); 
    66     if (! clientWrite.Write(dataToClient)) { 
     50    if (! CoopTransfer::OnWrite(&serverRead, &clientWrite, dataToClient)) 
    6751      delete this; 
    68       return; 
    69     } 
    70     if (dataToClient.Size() == 0) { 
    71       serverRead.isActive = true; 
    72       clientWrite.isActive = false; 
    73     } 
    7452  } 
    7553};