|
reSIProcate/rutil
9694
|


Public Member Functions | |
| AresDnsPollItem (FdPollGrp *grp, int fd, AresDns &aresObj, ares_channel chan, int server_idx) | |
| virtual void | processPollEvent (FdPollEventMask mask) |
| Called by PollGrp when activity is possible. | |
| void | resetPollGrp (FdPollGrp *grp) |
Static Public Member Functions | |
| static void | socket_poll_cb (void *cb_data, ares_channel channel, int server_idx, int fd, ares_poll_action_t act) |
| C-function called by ares whenever it opens, closes or changes interest in writability. | |
Public Attributes | |
| AresDns & | mAres |
| ares_channel | mChannel |
| int | mFd |
| int | mServerIdx |
Definition at line 45 of file AresDns.cxx.
| resip::AresDnsPollItem::AresDnsPollItem | ( | FdPollGrp * | grp, |
| int | fd, | ||
| AresDns & | aresObj, | ||
| ares_channel | chan, | ||
| int | server_idx | ||
| ) | [inline] |
Definition at line 48 of file AresDns.cxx.
Referenced by socket_poll_cb().
: FdPollItemBase(grp, fd, FPEM_Read), mAres(aresObj), mChannel(chan), mFd(fd), mServerIdx(server_idx) { }
| void AresDnsPollItem::processPollEvent | ( | FdPollEventMask | mask | ) | [virtual] |
Called by PollGrp when activity is possible.
maybe nice if this was passed into us?
Implements resip::FdPollItemIf.
Definition at line 76 of file AresDns.cxx.
References FPEM_Read, FPEM_Write, mChannel, resip::FdPollItemBase::mPollSocket, and mServerIdx.
{
assert( (mask&(FPEM_Read|FPEM_Write))!= 0 );
time_t nowSecs;
time(&nowSecs);
ares_process_poll(mChannel, mServerIdx,
(mask&FPEM_Read)?(int)mPollSocket:-1, (mask&FPEM_Write)?(int)mPollSocket:-1,
nowSecs);
}
| void resip::AresDnsPollItem::resetPollGrp | ( | FdPollGrp * | grp | ) | [inline] |
Definition at line 56 of file AresDns.cxx.
References resip::FdPollGrp::addPollItem(), and FPEM_Read.
{
mPollGrp->delPollItem(mPollHandle);
mPollGrp = grp;
mPollHandle = mPollGrp->addPollItem(mFd, FPEM_Read, this);
}

| void AresDnsPollItem::socket_poll_cb | ( | void * | cb_data, |
| ares_channel | channel, | ||
| int | server_idx, | ||
| int | fd, | ||
| ares_poll_action_t | act | ||
| ) | [static] |
C-function called by ares whenever it opens, closes or changes interest in writability.
Definition at line 94 of file AresDns.cxx.
References AresDnsPollItem(), FPEM_Read, FPEM_Write, INVALID_SOCKET, mChannel, resip::FdPollGrp::modPollItem(), resip::AresDns::mPollGrp, resip::FdPollItemBase::mPollHandle, resip::AresDns::mPollItems, and mServerIdx.
Referenced by resip::AresDns::internalInit().
{
AresDns *ares = static_cast<AresDns*>(cb_data);
//assert( ares );
FdPollGrp *grp = ares->mPollGrp;
//assert( grp );
AresDnsPollItem *olditem = ares->mPollItems.at(server_idx);
if ( olditem )
{
assert( olditem->mChannel==channel );
assert( olditem->mServerIdx==server_idx );
}
switch ( act )
{
case ARES_POLLACTION_OPEN:
assert( olditem==NULL );
assert( fd!=INVALID_SOCKET );
ares->mPollItems[server_idx] = new AresDnsPollItem( grp, fd, *ares, channel, server_idx);
break;
case ARES_POLLACTION_CLOSE:
assert( olditem );
ares->mPollItems[server_idx] = NULL;
delete olditem; // destructor removes from poll
break;
case ARES_POLLACTION_WRITEON:
assert( olditem );
grp->modPollItem(olditem->mPollHandle, FPEM_Read|FPEM_Write);
break;
case ARES_POLLACTION_WRITEOFF:
assert( olditem );
grp->modPollItem(olditem->mPollHandle, FPEM_Read);
break;
default:
assert( 0 );
}
}

Definition at line 63 of file AresDns.cxx.
| ares_channel resip::AresDnsPollItem::mChannel |
Definition at line 64 of file AresDns.cxx.
Referenced by processPollEvent(), and socket_poll_cb().
Definition at line 65 of file AresDns.cxx.
Definition at line 66 of file AresDns.cxx.
Referenced by processPollEvent(), and socket_poll_cb().
1.7.5.1