blob: 5663dcec0c56d65f270cf082467898ebdccb62af [file] [log] [blame]
Junxiao Shicbba04c2014-01-26 14:21:22 -07001/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2/**
3 * Copyright (C) 2014 Named Data Networking Project
4 * See COPYING for copyright and distribution information.
5 */
6
7#include "pit-face-record.hpp"
8
Alexander Afanasyev18bbf812014-01-29 01:40:23 -08009namespace nfd {
Junxiao Shicbba04c2014-01-26 14:21:22 -070010namespace pit {
11
12FaceRecord::FaceRecord(shared_ptr<Face> face)
13 : m_face(face)
14 , m_lastNonce(0)
15 , m_lastRenewed(0)
16 , m_expiry(0)
17{
18}
19
20FaceRecord::FaceRecord(const FaceRecord& other)
21 : m_face(other.m_face)
22 , m_lastNonce(other.m_lastNonce)
23 , m_lastRenewed(other.m_lastRenewed)
24 , m_expiry(other.m_expiry)
25{
26}
27
28void
29FaceRecord::update(const Interest& interest)
30{
31 m_lastNonce = interest.getNonce();
32 m_lastRenewed = time::now();
Junxiao Shi57f0f312014-03-16 11:52:20 -070033
34 const ndn::Milliseconds DEFAULT_INTEREST_LIFETIME = static_cast<ndn::Milliseconds>(4000);
35 ndn::Milliseconds lifetime = interest.getInterestLifetime();
36 if (lifetime < 0) {
37 lifetime = DEFAULT_INTEREST_LIFETIME;
38 }
39 m_expiry = m_lastRenewed + time::milliseconds(lifetime);
Junxiao Shicbba04c2014-01-26 14:21:22 -070040}
41
42
43} // namespace pit
Alexander Afanasyev18bbf812014-01-29 01:40:23 -080044} // namespace nfd