userlibandfileserver/fileserver/sfile/sf_notifier_handlers.cpp
changeset 31 56f325a607ea
parent 0 a41df078684a
child 299 b5a01337d018
equal deleted inserted replaced
15:4122176ea935 31:56f325a607ea
   145 
   145 
   146 	//Update Status
   146 	//Update Status
   147 	if(status!=CFsNotifyRequest::EOutstandingOverflow)
   147 	if(status!=CFsNotifyRequest::EOutstandingOverflow)
   148 		{
   148 		{
   149 		notifyRequest->SetActive(CFsNotifyRequest::EActive);
   149 		notifyRequest->SetActive(CFsNotifyRequest::EActive);
       
   150 		// RDebug::Print(_L("TFsNotificationRequest::DoRequestL Not-OutOver- iClientHead==%d, iClientTail==%d"),notifyRequest->iClientHead,notifyRequest->iClientTail);
       
   151 		}
       
   152 	else
       
   153 		{
       
   154 		notifyRequest->SetActive(CFsNotifyRequest::EInactive);
   150 		
   155 		
   151 		// DEF140387:
   156 		// RDebug::Print(_L("TFsNotificationRequest::DoRequestL OutOver- iClientHead==%d, iClientTail==%d"),notifyRequest->iClientHead,notifyRequest->iClientTail);
   152 		// If this is not the first call to RequestNotifications then if the 
   157 		
   153 		// user just got an overflow notification (and requested again) 
   158 		// If the user is in OutstandingOverflow notification state, 
   154 		// then its possible that iClientTail is not zero now.
   159 		// then we can set iClientHead to be equal to iServerTail now.
   155 	
   160 		// That way if the client requests again and the state will go 
   156 		// We should set iClientHead to iClientTail, otherwise the client
   161 		// back to active, the server will see that buffer as empty 
   157 		// can receive another overflow straight away.
   162 		// rather than full/overflow.
       
   163 		
   158 		notifyRequest->iClientHead = notifyRequest->iClientTail;
   164 		notifyRequest->iClientHead = notifyRequest->iClientTail;
   159 		}
       
   160 	else
       
   161 		{
       
   162 		notifyRequest->SetActive(CFsNotifyRequest::EInactive);
       
   163 		}
   165 		}
   164 	FsNotificationManager::Unlock();
   166 	FsNotificationManager::Unlock();
   165 	return r;
   167 	return r;
   166 	}
   168 	}
   167 
   169