The paper introduces an extension to the method of p-cycles for network protection. The p-cycle concept is generalized to protect path segments of contiguous working flow, not only spans that lie on the cycle or directly straddle the p-cycle. The original span protecting use of the p-cycle technique is extend to include path protection or protection of any flow segment along a path. It also gives an inherent means of protecting working flows that transit a failed node. We use integer linear programming to study the new concept and determine its inherent capacity requirements relative to prior p-cycle designs and other types of efficient mesh-survivable networks. Results show that path-segment-protecting p-cycles ("flow p-cycles") have capacity efficiency near that of the shared backup path-protection (SBPP) scheme currently favored for optical networking. Because its protection paths are fully preconnected and because it protects path segments (not entire paths), it has the potential for both higher speed and higher availability than SBPP. We also develop capacity optimization models to support 100% restoration of transiting flows through failed nodes. Only a very small additional spare capacity is needed to achieve both 100% span and intermediate node-failure restorabilities, and a very high transiting traffic restorability can be accomplished for node failure restorability given spare capacity only for span-failure protection. An immediate practical application is to suggest the use of flow p-cycles to protect transparent optical express flows through a regional network.