Cycle detection
authorAndrii Grynenko <andrii@fb.com>
Wed, 24 Aug 2016 18:24:33 +0000 (11:24 -0700)
committerFacebook Github Bot 4 <facebook-github-bot-4-bot@fb.com>
Wed, 24 Aug 2016 18:39:10 +0000 (11:39 -0700)
commit76745f68de5354b1958282d72bce6c40b4d300ca
treedaf238412dfeabd5cd965c0155158f920529dba4
parent9ae9af6f6e23b2ef84168cad5f552cf87700de5d
Cycle detection

Summary:
1. This implements a GraphCycleDetector which can check if newly added edge belongs to a cycle in a directed graph. GraphCycleDetector is used to detect cycles between Observers when creator function is run.
2. This also fixes a bug where new dependencies could be saved even if Observer creator failed.

Reviewed By: yfeldblum

Differential Revision: D3746743

fbshipit-source-id: 99d10446c56fa4d8f7485f38309e8a282cd21bdf
folly/Makefile.am
folly/experimental/observer/detail/Core.cpp
folly/experimental/observer/detail/GraphCycleDetector.h [new file with mode: 0644]
folly/experimental/observer/detail/ObserverManager.h
folly/experimental/observer/test/ObserverTest.cpp