void SocketTransportServiceTest::SendEvent() {
  nsresult rv;

  rv = target_->Dispatch(new EventReceived(this), 0);
  ASSERT_TRUE(NS_SUCCEEDED(rv));
  ASSERT_TRUE_WAIT(Received() == 1, 10000);
}
Exemple #2
0
    NS_DECL_ISUPPORTS

    NS_IMETHOD Run() {
        nsresult rv;
        char buf[101];
        PRUint32 count;
        PRUint32 total = 0;
        while (PR_TRUE) {
            //if (gTrace)
            //    printf("calling Read\n");
            rv = mIn->Read(buf, 100, &count);
            if (NS_FAILED(rv)) {
                printf("read failed\n");
                break;
            }
            if (count == 0) {
                break;
            }
            buf[count] = '\0';
            if (gTrace)
                printf("read %d bytes: %s\n", count, buf);
            Received(count);
            total += count;
        }
        printf("read  %d bytes\n", total);
        return rv;
    }
void
ES_RemoteDebugConnection::ReceiveMoreL()
{
	while (TRUE)
	{
		if (!ReceiveDataL())
			return;

		if (!receive_message)
		{
			if (receive_buffer_used < 12)
				return;

			receive_tail = TRUE;
			receive_item = receive_item_offset = 0;

			if (!ES_RemoteStringIsHex(receive_buffer, 12))
			{
				CloseL();
				return;
			}

			receive_message_size = ES_RemoteStringToUnsigned8(receive_buffer);
			receive_message_length = ES_RemoteStringToUnsigned4(receive_buffer + 8);
			receive_message_buffer = new (ELeave) char[receive_message_size];
			receive_message = new (ELeave) ES_DebugMessage;

			receive_buffer_used = 0;
			receive_message_received = 0;
			continue;
		}
		else if (receive_message_received < receive_message_size)
			continue;
		else
		{
			receive_message->ParseL(receive_message_buffer, receive_message_size, receive_message_length);
			LEAVE_IF_ERROR(Received(receive_message));

			delete[] receive_message_buffer;
			receive_message_buffer = NULL;

			receive_message = NULL;
		}
	}
}