All of lore.kernel.org
 help / color / mirror / Atom feed
From: Denis Kenzior <denkenz@gmail.com>
To: ofono@ofono.org
Subject: Re: [RFC 2/2] doc: Add description for history agent interface
Date: Fri, 04 Feb 2011 12:27:23 -0600	[thread overview]
Message-ID: <4D4C450B.7060905@gmail.com> (raw)
In-Reply-To: <A459777776EB4841B844E1134E7928740157C97A@008-AM1MPN1-016.mgdnok.nokia.com>

[-- Attachment #1: Type: text/plain, Size: 2682 bytes --]

Hi Mikhail,

On 02/04/2011 12:07 PM, mikhail.zabaluev(a)nokia.com wrote:
> Hi,
> 
>> -----Original Message-----
>> From: ext Denis Kenzior [mailto:denkenz(a)gmail.com]
>> Sent: Friday, February 04, 2011 7:06 PM
>> To: ofono(a)ofono.org
>> Cc: Zabaluev Mikhail (Nokia-MS/Helsinki)
>> Subject: Re: [RFC 2/2] doc: Add description for history agent interface
>>
>>> I totally agree. But it means that you have code in oFono to reliably
>> store an ordered collection of stuff in a filesystem. I wouldn't like
>> MeeGo developers to maintain very similar code in a different
>> component, just for API adaptation reasons.
>>
>> No we do not.  We have code to reliably store tpdus, fragments not
>> re-assembled messages.  It is not ordered or anything else you make it
>> out to be.  Why don't you actually read the sms_assembly code and tell
>> me if it is usable for anything else.  The code for storing assembled
>> messages would be _completely_ different.
> 
> Why, you already cache fragments by their respective message refs efficiently.
> The only thing missing is a thin API to provide a view on complete messages.
> 

I think you really need to go into the code and understand what is going
on there.  You have a misconception of how it works.  Trust me, the tpdu
fragment store does not translate to any sort of D-Bus API.  And once
you see the code, I'm sure you will be convinced not to even bother ;)

Moreover, you have to realize that there are non-text messages in that
tpdu store that go via an entirely different path and unless there's a
relevant plugin handling these, they will not go through history.

In the text message case we already provide the history plugin with
_everything_ that it needs.  If you want to implement a particular API,
then history is the right avenue to do so.  There is no inherent benefit
of having oFono core do so and we do not want to introduce the concept
of a message store into oFono anyway.

> So the ratio is 2/3 for the only event flow that is relevant for performance, more likely.
> But I agree, it's a bit more efficient for simple plugins, provided that they never fall off the bus.

Lets put it this way, your proposal is 1.5x slower in the absolute best
case; worse if multiple clients subscribe to the signal, purposefully or
otherwise.

Falling off the bus has nothing to do with this performance.  You can
make your history plugin detect the 'falling off the bus' events and
handle them appropriately (e.g. spool messages internally until the
consumer comes back.)  That is how every single 'Agent' in oFono /
ConnMan / BlueZ works today anyway.

Regards,
-Denis

  parent reply	other threads:[~2011-02-04 18:27 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-01 17:29 [RFC 2/2] doc: Add description for history agent interface Marcel Holtmann
2011-02-02 13:23 ` Kai.Vehmanen
2011-02-02 16:43   ` Marcel Holtmann
2011-02-02 18:14     ` mikhail.zabaluev
2011-02-02 19:22       ` Denis Kenzior
2011-02-02 22:56         ` Kai.Vehmanen
2011-02-02 23:12           ` Marcel Holtmann
2011-02-03 10:54             ` mikhail.zabaluev
2011-02-03  7:13           ` Denis Kenzior
2011-02-03 10:11             ` Kai.Vehmanen
2011-02-03 12:42             ` mikhail.zabaluev
2011-02-03 11:57         ` mikhail.zabaluev
2011-02-03 15:58           ` Denis Kenzior
2011-02-02 19:32       ` Marcel Holtmann
2011-02-03 12:22         ` mikhail.zabaluev
2011-02-03 16:11           ` Denis Kenzior
2011-02-04  9:23             ` mikhail.zabaluev
2011-02-04 12:58               ` Marcel Holtmann
2011-02-04 16:52                 ` mikhail.zabaluev
2011-02-04 17:05                   ` Denis Kenzior
2011-02-04 18:07                     ` mikhail.zabaluev
2011-02-04 18:13                       ` Marcel Holtmann
2011-02-04 18:52                         ` mikhail.zabaluev
2011-02-04 19:01                           ` Denis Kenzior
2011-02-04 19:01                           ` Marcel Holtmann
2011-02-04 19:33                             ` mikhail.zabaluev
2011-02-04 19:48                               ` Marcel Holtmann
2011-02-04 18:27                       ` Denis Kenzior [this message]
2011-02-04 19:17                         ` mikhail.zabaluev
2011-02-04 19:22                           ` Marcel Holtmann
2011-02-04 19:27                           ` Denis Kenzior
2011-02-04 17:15                   ` Marcel Holtmann
2011-02-04 18:32                     ` mikhail.zabaluev
2011-02-02 22:55     ` Kai.Vehmanen
2011-02-02 23:06       ` Marcel Holtmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4D4C450B.7060905@gmail.com \
    --to=denkenz@gmail.com \
    --cc=ofono@ofono.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.