anchor.diff:    Result := (FLastActivity <> 0) and (tick_diff(FLastActivity, GetTickCount) > Cardinal(pvTimeOut));
   end;
   
  -function TDiocpCustomContext.CheckCloseContextBk: Boolean;
  -var
  -  v:Boolean;
  -begin
  -  DoCtxStateLock;
  -  v := (FCtxStateFlag = 2) and (FReferenceCounter = 0);
  -  if v then
  -  begin
  -    FCtxStateFlag := 11;     // ȴر
  -  end;
  -  DoCtxStateUnLock;
  -
  -  if v then
  -  begin
  -
  -    InnerCloseContext(False);
  -    Result := true;
  -  end else
  -  begin
  -    Result := False;
  -  end;
  -end;
  -
   procedure TDiocpCustomContext.CheckKickOut(pvTimeOut:Integer);
   begin
     if CheckActivityTimeOut(pvTimeOut) then
  
positive.code: 
      procedure DoSetCtxState(const state:Integer);
  
      // Ƿִйر
      function CheckCloseContextBk: Boolean;
    private
      FDebugLocker:Integer;
      FOnRecvingFlag:Byte;
  
negative.code:   FSending := false;
  
    {$IFDEF DIOCP_DEBUG}
    AddDebugStrings(Format('-(%d):%d,%s', [FReferenceCounter, IntPtr(Self), '-----DoCleanUp-----']));
    {$ENDIF}
  
    if IsDebugMode then
  