Skip to content

Commit

Permalink
Remove unnecessary dependencies on FabricTable objects (#10126)
Browse files Browse the repository at this point in the history
  • Loading branch information
pan-apple authored and pull[bot] committed Oct 20, 2021
1 parent 5d68c9e commit 1710339
Show file tree
Hide file tree
Showing 41 changed files with 69 additions and 111 deletions.
5 changes: 2 additions & 3 deletions examples/shell/shell_common/cmd_ping.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,6 @@ class PingArguments
} gPingArguments;

Protocols::Echo::EchoClient gEchoClient;
Transport::FabricTable gFabrics;

CHIP_ERROR SendEchoRequest(streamer_t * stream);
void EchoTimerHandler(chip::System::Layer * systemLayer, void * appState);
Expand Down Expand Up @@ -306,7 +305,7 @@ void StartPinging(streamer_t * stream, char * destination)
#if INET_CONFIG_ENABLE_TCP_ENDPOINT
if (gPingArguments.IsUsingTCP())
{
err = gSessionManager.Init(&DeviceLayer::SystemLayer(), &gTCPManager, &gFabrics, &gMessageCounterManager);
err = gSessionManager.Init(&DeviceLayer::SystemLayer(), &gTCPManager, &gMessageCounterManager);
SuccessOrExit(err);

err = gExchangeManager.Init(&gSessionManager);
Expand All @@ -315,7 +314,7 @@ void StartPinging(streamer_t * stream, char * destination)
else
#endif
{
err = gSessionManager.Init(&DeviceLayer::SystemLayer(), &gUDPManager, &gFabrics, &gMessageCounterManager);
err = gSessionManager.Init(&DeviceLayer::SystemLayer(), &gUDPManager, &gMessageCounterManager);
SuccessOrExit(err);

err = gExchangeManager.Init(&gSessionManager);
Expand Down
5 changes: 2 additions & 3 deletions examples/shell/shell_common/cmd_send.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,6 @@ void ProcessCommand(streamer_t * stream, char * destination)
{
CHIP_ERROR err = CHIP_NO_ERROR;

Transport::FabricTable fabrics;
Transport::PeerAddress peerAddress;

if (!chip::Inet::IPAddress::FromString(destination, gDestAddr))
Expand All @@ -227,15 +226,15 @@ void ProcessCommand(streamer_t * stream, char * destination)
{
peerAddress = Transport::PeerAddress::TCP(gDestAddr, gSendArguments.GetPort());

err = gSessionManager.Init(&DeviceLayer::SystemLayer(), &gTCPManager, &fabrics, &gMessageCounterManager);
err = gSessionManager.Init(&DeviceLayer::SystemLayer(), &gTCPManager, &gMessageCounterManager);
SuccessOrExit(err);
}
else
#endif
{
peerAddress = Transport::PeerAddress::UDP(gDestAddr, gSendArguments.GetPort(), INET_NULL_INTERFACEID);

err = gSessionManager.Init(&DeviceLayer::SystemLayer(), &gUDPManager, &fabrics, &gMessageCounterManager);
err = gSessionManager.Init(&DeviceLayer::SystemLayer(), &gUDPManager, &gMessageCounterManager);
SuccessOrExit(err);
}

Expand Down
4 changes: 2 additions & 2 deletions src/app/server/Mdns.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ namespace {
bool HaveOperationalCredentials()
{
// Look for any fabric info that has a useful operational identity.
for (const Transport::FabricInfo & fabricInfo : Server::GetInstance().GetFabricTable())
for (const FabricInfo & fabricInfo : Server::GetInstance().GetFabricTable())
{
if (fabricInfo.IsInitialized())
{
Expand Down Expand Up @@ -247,7 +247,7 @@ CHIP_ERROR MdnsServer::GetCommissionableInstanceName(char * buffer, size_t buffe
/// Set MDNS operational advertisement
CHIP_ERROR MdnsServer::AdvertiseOperational()
{
for (const Transport::FabricInfo & fabricInfo : Server::GetInstance().GetFabricTable())
for (const FabricInfo & fabricInfo : Server::GetInstance().GetFabricTable())
{
if (fabricInfo.IsInitialized())
{
Expand Down
5 changes: 2 additions & 3 deletions src/app/server/Server.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -41,14 +41,13 @@
#include <sys/param.h>
#include <system/SystemPacketBuffer.h>
#include <system/TLVPacketBufferBackingStore.h>
#include <transport/FabricTable.h>
#include <transport/SessionManager.h>

using chip::kMinValidFabricIndex;
using chip::RendezvousInformationFlag;
using chip::DeviceLayer::PersistedStorage::KeyValueStoreMgr;
using chip::Inet::IPAddressType;
using chip::Transport::BleListenParameters;
using chip::Transport::kMinValidFabricIndex;
using chip::Transport::PeerAddress;
using chip::Transport::UdpListenParameters;

Expand Down Expand Up @@ -117,7 +116,7 @@ CHIP_ERROR Server::Init(AppDelegate * delegate, uint16_t secureServicePort, uint
#endif
SuccessOrExit(err);

err = mSessions.Init(&DeviceLayer::SystemLayer(), &mTransports, &mFabrics, &mMessageCounterManager);
err = mSessions.Init(&DeviceLayer::SystemLayer(), &mTransports, &mMessageCounterManager);
SuccessOrExit(err);

err = mExchangeMgr.Init(&mSessions);
Expand Down
4 changes: 2 additions & 2 deletions src/app/server/Server.h
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ class Server : public Messaging::ExchangeDelegate

CHIP_ERROR AddTestCommissioning();

Transport::FabricTable & GetFabricTable() { return mFabrics; }
FabricTable & GetFabricTable() { return mFabrics; }

Messaging::ExchangeManager & GetExchangeManager() { return mExchangeMgr; }

Expand Down Expand Up @@ -125,7 +125,7 @@ class Server : public Messaging::ExchangeDelegate
SessionManager mSessions;
CASEServer mCASEServer;
Messaging::ExchangeManager mExchangeMgr;
Transport::FabricTable mFabrics;
FabricTable mFabrics;
SessionIDAllocator mSessionIDAllocator;
secure_channel::MessageCounterManager mMessageCounterManager;
#if CHIP_DEVICE_CONFIG_ENABLE_COMMISSIONER_DISCOVERY_CLIENT
Expand Down
3 changes: 1 addition & 2 deletions src/app/tests/TestCommandInteraction.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -418,14 +418,13 @@ void InitializeChip(nlTestSuite * apSuite)
{
CHIP_ERROR err = CHIP_NO_ERROR;
chip::Optional<chip::Transport::PeerAddress> peer(chip::Transport::Type::kUndefined);
chip::Transport::FabricTable fabrics;

err = chip::Platform::MemoryInit();
NL_TEST_ASSERT(apSuite, err == CHIP_NO_ERROR);

chip::gSystemLayer.Init();

err = chip::gSessionManager.Init(&chip::gSystemLayer, &chip::gTransportManager, &fabrics, &chip::gMessageCounterManager);
err = chip::gSessionManager.Init(&chip::gSystemLayer, &chip::gTransportManager, &chip::gMessageCounterManager);
NL_TEST_ASSERT(apSuite, err == CHIP_NO_ERROR);

err = chip::gExchangeManager.Init(&chip::gSessionManager);
Expand Down
3 changes: 1 addition & 2 deletions src/app/tests/TestEventLogging.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -71,14 +71,13 @@ void InitializeChip(nlTestSuite * apSuite)
{
CHIP_ERROR err = CHIP_NO_ERROR;
chip::Optional<chip::Transport::PeerAddress> peer(chip::Transport::Type::kUndefined);
chip::Transport::FabricTable fabrics;

err = chip::Platform::MemoryInit();
NL_TEST_ASSERT(apSuite, err == CHIP_NO_ERROR);

gSystemLayer.Init();

err = gSessionManager.Init(&gSystemLayer, &gTransportManager, &fabrics, &gMessageCounterManager);
err = gSessionManager.Init(&gSystemLayer, &gTransportManager, &gMessageCounterManager);
NL_TEST_ASSERT(apSuite, err == CHIP_NO_ERROR);

err = gExchangeManager.Init(&gSessionManager);
Expand Down
3 changes: 1 addition & 2 deletions src/app/tests/TestInteractionModelEngine.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -135,14 +135,13 @@ void InitializeChip(nlTestSuite * apSuite)
{
CHIP_ERROR err = CHIP_NO_ERROR;
chip::Optional<chip::Transport::PeerAddress> peer(chip::Transport::Type::kUndefined);
chip::Transport::FabricTable fabrics;

err = chip::Platform::MemoryInit();
NL_TEST_ASSERT(apSuite, err == CHIP_NO_ERROR);

gSystemLayer.Init();

err = gSessionManager.Init(&gSystemLayer, &gTransportManager, &fabrics, &gMessageCounterManager);
err = gSessionManager.Init(&gSystemLayer, &gTransportManager, &gMessageCounterManager);
NL_TEST_ASSERT(apSuite, err == CHIP_NO_ERROR);

err = gExchangeManager.Init(&gSessionManager);
Expand Down
3 changes: 1 addition & 2 deletions src/app/tests/TestReportingEngine.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -158,14 +158,13 @@ void InitializeChip(nlTestSuite * apSuite)
{
CHIP_ERROR err = CHIP_NO_ERROR;
chip::Optional<chip::Transport::PeerAddress> peer(chip::Transport::Type::kUndefined);
chip::Transport::FabricTable fabrics;

err = chip::Platform::MemoryInit();
NL_TEST_ASSERT(apSuite, err == CHIP_NO_ERROR);

chip::gSystemLayer.Init();

err = chip::gSessionManager.Init(&chip::gSystemLayer, &chip::gTransportManager, &fabrics, &chip::gMessageCounterManager);
err = chip::gSessionManager.Init(&chip::gSystemLayer, &chip::gTransportManager, &chip::gMessageCounterManager);
NL_TEST_ASSERT(apSuite, err == CHIP_NO_ERROR);

err = chip::gExchangeManager.Init(&chip::gSessionManager);
Expand Down
3 changes: 1 addition & 2 deletions src/app/tests/integration/chip_im_initiator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -679,7 +679,6 @@ int main(int argc, char * argv[])
std::mutex mutex;
std::unique_lock<std::mutex> lock(mutex);
MockInteractionModelApp mockDelegate;
chip::Transport::FabricTable fabrics;

if (argc <= 1)
{
Expand All @@ -702,7 +701,7 @@ int main(int argc, char * argv[])
.SetListenPort(IM_CLIENT_PORT));
SuccessOrExit(err);

err = gSessionManager.Init(&chip::DeviceLayer::SystemLayer(), &gTransportManager, &fabrics, &gMessageCounterManager);
err = gSessionManager.Init(&chip::DeviceLayer::SystemLayer(), &gTransportManager, &gMessageCounterManager);
SuccessOrExit(err);

err = gExchangeManager.Init(&gSessionManager);
Expand Down
3 changes: 1 addition & 2 deletions src/app/tests/integration/chip_im_responder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -203,15 +203,14 @@ int main(int argc, char * argv[])
MockInteractionModelApp mockDelegate;
chip::Optional<chip::Transport::PeerAddress> peer(chip::Transport::Type::kUndefined);
const chip::FabricIndex gFabricIndex = 0;
chip::Transport::FabricTable fabrics;

InitializeChip();

err = gTransportManager.Init(
chip::Transport::UdpListenParameters(&chip::DeviceLayer::InetLayer).SetAddressType(chip::Inet::kIPAddressType_IPv4));
SuccessOrExit(err);

err = gSessionManager.Init(&chip::DeviceLayer::SystemLayer(), &gTransportManager, &fabrics, &gMessageCounterManager);
err = gSessionManager.Init(&chip::DeviceLayer::SystemLayer(), &gTransportManager, &gMessageCounterManager);
SuccessOrExit(err);

err = gExchangeManager.Init(&gSessionManager);
Expand Down
2 changes: 2 additions & 0 deletions src/app/util/basic-types.h
Original file line number Diff line number Diff line change
Expand Up @@ -49,4 +49,6 @@ typedef uint32_t TransactionId;
typedef uint32_t StatusCode;
typedef uint8_t Percent;
typedef uint16_t Percent100ths;

static constexpr FabricIndex kUndefinedFabricIndex = 0;
} // namespace chip
2 changes: 1 addition & 1 deletion src/channel/ChannelContext.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -274,7 +274,7 @@ void ChannelContext::EnterCasePairingState()
ExchangeContext * ctxt = mExchangeManager->NewContext(session.Value(), prepare.mCasePairingSession);
VerifyOrReturn(ctxt != nullptr);

Transport::FabricInfo * fabric = mFabricsTable->FindFabricWithIndex(mFabricIndex);
FabricInfo * fabric = mFabricsTable->FindFabricWithIndex(mFabricIndex);
VerifyOrReturn(fabric != nullptr);
CHIP_ERROR err = prepare.mCasePairingSession->EstablishSession(addr, fabric, prepare.mBuilder.GetPeerNodeId(),
mExchangeManager->GetNextKeyId(), ctxt, this);
Expand Down
4 changes: 2 additions & 2 deletions src/channel/ChannelContext.h
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ class ChannelContext : public ReferenceCounted<ChannelContext, ChannelContextDel
public:
ChannelContext(ExchangeManager * exchangeManager, ChannelManager * channelManager) :
mState(ChannelState::kNone), mExchangeManager(exchangeManager), mChannelManager(channelManager), mFabricsTable(nullptr),
mFabricIndex(Transport::kUndefinedFabricIndex)
mFabricIndex(kUndefinedFabricIndex)
{}

void Start(const ChannelBuilder & builder);
Expand Down Expand Up @@ -123,7 +123,7 @@ class ChannelContext : public ReferenceCounted<ChannelContext, ChannelContextDel
ChannelState mState;
ExchangeManager * mExchangeManager;
ChannelManager * mChannelManager;
Transport::FabricTable * mFabricsTable;
FabricTable * mFabricsTable;
FabricIndex mFabricIndex;

enum class PrepareState
Expand Down
2 changes: 1 addition & 1 deletion src/controller/CHIPDevice.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -510,7 +510,7 @@ CHIP_ERROR Device::WarmupCASESession()
mLocalMessageCounter = 0;
mPeerMessageCounter = 0;

Transport::FabricInfo * fabric = mFabricsTable->FindFabricWithIndex(mFabricIndex);
FabricInfo * fabric = mFabricsTable->FindFabricWithIndex(mFabricIndex);
ReturnErrorCodeIf(fabric == nullptr, CHIP_ERROR_INCORRECT_STATE);

ReturnErrorOnFailure(mCASESession.EstablishSession(mDeviceAddress, fabric, mDeviceId, keyID, exchange, this));
Expand Down
6 changes: 3 additions & 3 deletions src/controller/CHIPDevice.h
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ struct ControllerDeviceInitParams
#if CONFIG_NETWORK_LAYER_BLE
Ble::BleLayer * bleLayer = nullptr;
#endif
Transport::FabricTable * fabricsTable = nullptr;
FabricTable * fabricsTable = nullptr;
DeviceControllerInteractionModelDelegate * imDelegate = nullptr;
};

Expand Down Expand Up @@ -517,9 +517,9 @@ class DLL_EXPORT Device : public Messaging::ExchangeDelegate, public SessionEsta
static void OnOpenPairingWindowSuccessResponse(void * context);
static void OnOpenPairingWindowFailureResponse(void * context, uint8_t status);

FabricIndex mFabricIndex = Transport::kUndefinedFabricIndex;
FabricIndex mFabricIndex = kUndefinedFabricIndex;

Transport::FabricTable * mFabricsTable = nullptr;
FabricTable * mFabricsTable = nullptr;

bool mDeviceOperationalCertProvisioned = false;

Expand Down
6 changes: 3 additions & 3 deletions src/controller/CHIPDeviceController.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ CHIP_ERROR DeviceController::Init(ControllerInitParams params)

CHIP_ERROR DeviceController::ProcessControllerNOCChain(const ControllerInitParams & params)
{
Transport::FabricInfo newFabric;
FabricInfo newFabric;

ReturnErrorCodeIf(params.ephemeralKeypair == nullptr, CHIP_ERROR_INVALID_ARGUMENT);
newFabric.SetEphemeralKey(params.ephemeralKeypair);
Expand Down Expand Up @@ -187,7 +187,7 @@ CHIP_ERROR DeviceController::ProcessControllerNOCChain(const ControllerInitParam
ReturnErrorOnFailure(newFabric.SetNOCCert(chipCertSpan));
newFabric.SetVendorId(params.controllerVendorId);

Transport::FabricInfo * fabric = params.systemState->Fabrics()->FindFabricWithIndex(mFabricIndex);
FabricInfo * fabric = params.systemState->Fabrics()->FindFabricWithIndex(mFabricIndex);
ReturnErrorCodeIf(fabric == nullptr, CHIP_ERROR_INCORRECT_STATE);

ReturnErrorOnFailure(fabric->SetFabricInfo(newFabric));
Expand Down Expand Up @@ -683,7 +683,7 @@ CHIP_ERROR DeviceCommissioner::PairDevice(NodeId remoteDeviceId, RendezvousParam

uint16_t keyID = 0;

Transport::FabricInfo * fabric = mSystemState->Fabrics()->FindFabricWithIndex(mFabricIndex);
FabricInfo * fabric = mSystemState->Fabrics()->FindFabricWithIndex(mFabricIndex);

VerifyOrExit(IsOperationalNodeId(remoteDeviceId), err = CHIP_ERROR_INVALID_ARGUMENT);
VerifyOrExit(mState == State::Initialized, err = CHIP_ERROR_INCORRECT_STATE);
Expand Down
2 changes: 1 addition & 1 deletion src/controller/CHIPDeviceController.h
Original file line number Diff line number Diff line change
Expand Up @@ -306,7 +306,7 @@ class DLL_EXPORT DeviceController : public Messaging::ExchangeDelegate,

void PersistNextKeyId();

FabricIndex mFabricIndex = Transport::kMinValidFabricIndex;
FabricIndex mFabricIndex = kMinValidFabricIndex;

OperationalCredentialsDelegate * mOperationalCredentialsDelegate;

Expand Down
6 changes: 3 additions & 3 deletions src/controller/CHIPDeviceControllerFactory.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -129,14 +129,14 @@ CHIP_ERROR DeviceControllerFactory::InitSystemState(FactoryInitParams params)
params.imDelegate = chip::Platform::New<DeviceControllerInteractionModelDelegate>();
}

stateParams.fabricTable = chip::Platform::New<Transport::FabricTable>();
stateParams.fabricTable = chip::Platform::New<FabricTable>();
stateParams.sessionMgr = chip::Platform::New<SessionManager>();
stateParams.exchangeMgr = chip::Platform::New<Messaging::ExchangeManager>();
stateParams.messageCounterManager = chip::Platform::New<secure_channel::MessageCounterManager>();

ReturnErrorOnFailure(stateParams.fabricTable->Init(mStorageDelegate));
ReturnErrorOnFailure(stateParams.sessionMgr->Init(stateParams.systemLayer, stateParams.transportMgr, stateParams.fabricTable,
stateParams.messageCounterManager));
ReturnErrorOnFailure(
stateParams.sessionMgr->Init(stateParams.systemLayer, stateParams.transportMgr, stateParams.messageCounterManager));
ReturnErrorOnFailure(stateParams.exchangeMgr->Init(stateParams.sessionMgr));
ReturnErrorOnFailure(stateParams.messageCounterManager->Init(stateParams.exchangeMgr));

Expand Down
6 changes: 3 additions & 3 deletions src/controller/CHIPDeviceControllerSystemState.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ struct DeviceControllerSystemStateParams
SessionManager * sessionMgr = nullptr;
Messaging::ExchangeManager * exchangeMgr = nullptr;
secure_channel::MessageCounterManager * messageCounterManager = nullptr;
Transport::FabricTable * fabricTable = nullptr;
FabricTable * fabricTable = nullptr;
DeviceControllerInteractionModelDelegate * imDelegate = nullptr;
};

Expand Down Expand Up @@ -116,7 +116,7 @@ class DeviceControllerSystemState
SessionManager * SessionMgr() { return mSessionMgr; };
Messaging::ExchangeManager * ExchangeMgr() { return mExchangeMgr; }
secure_channel::MessageCounterManager * MessageCounterManager() { return mMessageCounterManager; };
Transport::FabricTable * Fabrics() { return mFabrics; };
FabricTable * Fabrics() { return mFabrics; };
DeviceControllerInteractionModelDelegate * IMDelegate() { return mIMDelegate; }
#if CONFIG_NETWORK_LAYER_BLE
Ble::BleLayer * BleLayer() { return mBleLayer; };
Expand All @@ -134,7 +134,7 @@ class DeviceControllerSystemState
SessionManager * mSessionMgr = nullptr;
Messaging::ExchangeManager * mExchangeMgr = nullptr;
secure_channel::MessageCounterManager * mMessageCounterManager = nullptr;
Transport::FabricTable * mFabrics = nullptr;
FabricTable * mFabrics = nullptr;
DeviceControllerInteractionModelDelegate * mIMDelegate = nullptr;

std::atomic<uint32_t> mRefCount{ 1 };
Expand Down
2 changes: 1 addition & 1 deletion src/controller/tests/TestDevice.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ void TestDevice_EstablishSessionDirectly(nlTestSuite * inSuite, void * inContext
BleListenParameters(&blelayer)
#endif
);
sessionManager.Init(&systemLayer, &transportMgr, fabrics, &messageCounterManager);
sessionManager.Init(&systemLayer, &transportMgr, &messageCounterManager);
exchangeMgr.Init(&sessionManager);
messageCounterManager.Init(&exchangeMgr);

Expand Down
4 changes: 2 additions & 2 deletions src/messaging/ExchangeACL.h
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ class DLL_EXPORT CASEACLSubject
class DLL_EXPORT CASEExchangeACL : public ExchangeACL
{
public:
CASEExchangeACL(Transport::FabricInfo * info) : mFabricInfo(info) {}
CASEExchangeACL(FabricInfo * info) : mFabricInfo(info) {}
virtual ~CASEExchangeACL() {}

PermissionLevel GetPermissionLevel(const ACLSubject & subject, const ACLTarget & target) override
Expand All @@ -116,7 +116,7 @@ class DLL_EXPORT CASEExchangeACL : public ExchangeACL
}

private:
Transport::FabricInfo * mFabricInfo;
FabricInfo * mFabricInfo;
};

} // namespace Messaging
Expand Down
4 changes: 2 additions & 2 deletions src/messaging/ExchangeContext.h
Original file line number Diff line number Diff line change
Expand Up @@ -150,11 +150,11 @@ class DLL_EXPORT ExchangeContext : public ReliableMessageContext, public Referen

ExchangeMessageDispatch * GetMessageDispatch() { return mDispatch; }

ExchangeACL * GetExchangeACL(Transport::FabricTable & table)
ExchangeACL * GetExchangeACL(FabricTable & table)
{
if (mExchangeACL == nullptr)
{
Transport::FabricInfo * fabric = table.FindFabricWithIndex(mSecureSession.Value().GetFabricIndex());
FabricInfo * fabric = table.FindFabricWithIndex(mSecureSession.Value().GetFabricIndex());
if (fabric != nullptr)
{
mExchangeACL = chip::Platform::New<CASEExchangeACL>(fabric);
Expand Down
Loading

0 comments on commit 1710339

Please sign in to comment.