View Single Post
Posts: 1,048 | Thanked: 979 times | Joined on Mar 2008 @ SF Bay Area
#176
Originally Posted by fcrochik View Post
I noticed that I can't "turn off" or remove qgvdial-tp account with this last update.

The one feature I like about DialCentral and used to like about qgvdial more than TOR is that I could keep them off until I actually wanted to use them to send a sms using google. I actually "killall qgvdial" after each use.... I only use google to send sms outside the country because I refuse to pay more for that.

Two questions:
1. Shouldn't I be able to disable the account without having to remove qgvdial?
2. What does the application do while idle? Will it check for new messages from time-to-time or... ?

p.s. glad to see that now we have icons for the buttons.
The qgv-tp component is copied almost verbatim from vicar. As a result the way to shut off qgv-tp has the same semantics as vicar:
Code:
/opt/qgvdial/bin/qgv-util REMOVE
When you want to then restart it:
Code:
/opt/qgvdial/bin/qgv-util INSTALL
qgv-tp does not store any persistent information within itself, not even the username or password. Thats all qgvdial's headache.
However, since it is a telepathy CM, I have seen it getting periodic contact list requests from the system, which I dutifully ignore and tell it that there are no contacts to report.

qgvdial does not have any way to shut it off (yet). Otoh, when it is running backgrounded, it does absolutely nothing on its own. There is no polling or any sort of periodic work that I have knowingly introduced there.
I am not sure if having a invokable dbus method causes any sort of polling. If it does, then there is polling as a result of listening for "Call" and "Text" method invocations.
I am hopeful that the dbus designers didn't chose polling instead of select().
qgvdial also listens for incoming phone calls all the time (Telepathy Observer), but ignores them in the usual case. The only time it actually cares about an incoming call is when it initiates a Google Voice callback.

I may introduce some changes to this "do nothing on your own" pattern if I ever figure out the REST api that the (recently approved) iphone google app claims to have. But even then, being a REST api, it should be a lot of code around a select() - which again means no polling.

Now to the matter of killall qgvdial: When you kill and then restart qgvdial, it goes through the whole time consuming process of initializing everything (including qt), then logging into Google Voice and getting the right authentication tokens, and so on. During this init time, qgvdial easily eats up 60-70% cpu for about 2 minutes.
Seeing my n900 crawl through a boot up as it loads qgvdial and mycontacts is heart wrenching.
Once it is all up and running, its not visible in top/conky at all until you load it up for making calls.
Even the call process is the least amount of network traffic and cpu usage - I have stopped screen scraping with webkit for phone calls. I use the same method as the python library that DC uses.

So given this information, I'd be surprised if you feel the need to still killall qgvdial.

The one thing that you will see if you keep qgvdial around all the time is that it has eaten up about 15-20% of memory according to conky. However imo, that's because of the QT libraries, which ought to be shared code and therefore not really something you should worry about.
__________________
qgvdial: Google Voice client. All downloads
qgvtp: Phone integration for the n900 that dials out and sends texts using qgvdial.
mosquitto: message broker that implements the MQ Telemetry Transport protocol version 3.
qgvnotify: Google voice and contacts notifier for diablo and maemo.

If you want to thank me, click the Thanks button.
If you'd like to thank my applications, vote to move them to extras.