Re: : question on Diameter API

Michael Hunter <[email protected]> Thu, 12 May 2005 09:44:27 -0700
Newsgroups gmane.ietf.aaa
Organization SMI
Message-ID <20050512094427.00000833@localhost>
On Thu, 12 May 2005 14:35:12 +0900
Makiko Ban <[email protected]> wrote:

> Hi,
> 
> I'm working on implementation of Diameter. 

We are going to opensource a version of this API under the CDDL in the coming
weeks.  I'll post a note here when I do that.
 
> Through the implementation, draft-ietf-aaa-diameter-api-04 is used as a reference for our implementation.
> In that draft, we can find a description on a function AAASendMessage(), but nothing about AAARecvMessage().

You should register a callback (see AAARegister*()).

> I guess the descripton on the function AAARecvMessage() is included to the draft,
> but there is nothing about this.  Does this means there is no standard API for receiving the message ?
> Does anyone know the reason why the fuction is not specified in the draft? 

Because the model of processing is asyncronous.  A basic flow of your application
would be to initialize the library (AAAOpen()), register some callbacks, and then
allow your callback to process those messages.  After the open but asyncronous to
the other processing you might decide to send some messages.

I think it would be worthwhile to factor out the thread handeling from the
protocol handeling part of this API.  That would make using this API with
other frameworks easier.  Additionally it wouldn't mandate the use of threads
which have a non trivial software engineering impact.

			mph