当前位置: 首页>>代码示例>>C++>>正文


C++ Binding::state方法代码示例

本文整理汇总了C++中Binding::state方法的典型用法代码示例。如果您正苦于以下问题:C++ Binding::state方法的具体用法?C++ Binding::state怎么用?C++ Binding::state使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Binding的用法示例。


在下文中一共展示了Binding::state方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: optlist

DhcpServerMessage *DHCPD::doDiscover(DhcpClientMessage &req)
{
    /*
     * XXX: TODO: Windows iSCSI initiator sends DHCPDISCOVER first and
     * it has ciaddr filled.  Shouldn't let it screw up the normal
     * lease we already have for that client, but we should probably
     * reply with a pro-forma offer.
     */
    if (req.ciaddr().u != 0)
        return NULL;

    Binding *b = m_db.allocateBinding(req);
    if (b == NULL)
        return NULL;


    std::unique_ptr<DhcpServerMessage> reply;

    bool fRapidCommit = OptRapidCommit(req).present();
    if (!fRapidCommit)
    {
        reply.reset(createMessage(RTNET_DHCP_MT_OFFER, req));

        if (b->state() < Binding::OFFERED)
            b->setState(Binding::OFFERED);

        /* use small lease time internally to quickly free unclaimed offers? */
    }
    else
    {
        reply.reset(createMessage(RTNET_DHCP_MT_ACK, req));
        reply->addOption(OptRapidCommit(true));

        b->setState(Binding::ACKED);
        saveLeases();
    }

    reply->setYiaddr(b->addr());
    reply->addOption(OptLeaseTime(b->leaseTime()));


    OptParameterRequest optlist(req);
    reply->addOptions(m_pConfig->getOptions(optlist, req.clientId()));

    // reply->maybeUnicast(req); /* XXX: we reject ciaddr != 0 above */
    return reply.release();
}
开发者ID:mdaniel,项目名称:virtualbox-org-svn-vbox-trunk,代码行数:47,代码来源:DHCPD.cpp


注:本文中的Binding::state方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。