Flow Control

What is Flow Control?

Flow control is a technique used in data communication to manage the rate at which data is sent between a sender and a receiver, preventing the receiver from being overwhelmed.

Why is Flow Control useful?

It prevents data loss by ensuring the sender does not transmit more data than the receiver can handle, especially when the receiver has limited buffer capacity.

How does Flow Control work?

Flow control works using mechanisms like sliding window and stop-and-wait, where the sender waits for acknowledgments or window updates before sending more data.

Where is Flow Control used?

Flow control is widely used in TCP connections, serial communication, and other protocols where reliable and orderly data transfer is necessary.

Which OSI layer does Flow Control belong to?

Flow control is primarily handled at the Transport Layer (Layer 4) of the OSI model, though it can also appear at the Data Link Layer (Layer 2).

Is Flow Control Windows specific?

No, flow control is a protocol-level feature that works the same across all operating systems, including Windows, Linux, and macOS.

Is Flow Control Linux specific?

No, flow control is universally implemented across all platforms that support TCP/IP networking and serial communication protocols.

Which Transport Protocol is used by Flow Control?

TCP is the primary transport protocol that implements flow control through its windowing mechanisms.

Is Flow Control using client-server model?

No, flow control is a mechanism used in communication regardless of the model. However, it is especially important in client-server communication to avoid congestion and data loss.

  • In this section, you are going to learn

  • Terminology

  • Version Info

  • setup

Flow Control - Testcases

S.No

Test Case

Description

Expected Result

1

Valid Flow

Execute normal flow

Flow proceeds without error

2

Invalid Transition

Trigger invalid state change

Error detected: Invalid transition

3

Missing Step

Skip a required step

Error detected: Step missing

4

Repeated Step

Repeat a step unnecessarily

Error detected: Redundant step

5

Unauthorized Flow

User tries restricted flow

Error detected: Access denied

6

Timeout in Flow

Step takes too long

Error detected: Timeout

7

Interrupted Flow

Flow interrupted mid-process

Error detected: Flow interrupted

8

Loop Detection

Detect infinite loop

Error detected: Loop detected

9

Conditional Branching

Test conditional path

Correct branch executed

10

Parallel Execution

Run steps in parallel

All steps complete successfully

11

Sequential Execution

Run steps in sequence

Steps execute in correct order

12

Retry Mechanism

Retry failed step

Step retried successfully

13

Max Retry Exceeded

Retry limit reached

Error detected: Retry limit exceeded

14

Rollback on Failure

Rollback after error

Previous state restored

15

Resume Flow

Resume after pause

Flow resumes correctly

16

Pause Flow

Pause mid-process

Flow paused successfully

17

Cancel Flow

Cancel ongoing flow

Flow cancelled successfully

18

Invalid Input in Flow

Provide wrong input

Error detected: Invalid input

19

Flow Completion

Complete all steps

Flow ends successfully

20

Flow Abandonment

User abandons flow

Flow marked as incomplete

21

Flow Restart

Restart from beginning

Flow restarted successfully

22

Flow Status Check

Query flow status

Correct status returned

23

Flow History

View past flow steps

History displayed correctly

24

Flow Logging

Log each step

Logs created successfully

25

Flow Metrics

Measure flow performance

Metrics recorded accurately

26

Flow Validation

Validate flow configuration

Flow validated successfully

27

Flow Configuration Error

Misconfigured flow

Error detected: Configuration issue

28

Flow Trigger

Trigger flow manually

Flow triggered successfully

29

Auto Trigger Flow

Trigger flow automatically

Flow starts as expected

30

Flow Dependency Check

Check dependent flows

Dependencies validated

31

Flow Versioning

Use different flow versions

Correct version executed

32

Flow Upgrade

Upgrade flow version

Upgrade successful

33

Flow Downgrade

Downgrade flow version

Downgrade successful

34

Flow Access Control

Restrict flow access

Access control enforced

35

Flow Audit Trail

Track flow actions

Audit trail generated

36

Flow Notification

Notify on flow events

Notifications sent

37

Flow Alert

Alert on flow failure

Alert triggered

38

Flow Escalation

Escalate on error

Escalation initiated

39

Flow Integration

Integrate with external system

Integration successful

40

Flow API Call

Trigger flow via API

API call successful

41

Flow UI Trigger

Trigger flow via UI

UI trigger successful

42

Flow Data Mapping

Map data between steps

Data mapped correctly

43

Flow Data Loss

Data lost during flow

Error detected: Data loss

44

Flow Data Validation

Validate data at each step

Data validated successfully

45

Flow Step Skipping

Skip optional step

Flow continues correctly

46

Flow Step Reordering

Change step order

Flow adapts correctly

47

Flow Step Failure

Step fails unexpectedly

Error handled gracefully

48

Flow Step Success

Step completes successfully

Step marked as complete

49

Flow Step Timeout

Step exceeds time limit

Error detected: Step timeout

50

Flow End Condition

Check end condition

Flow ends as expected

  • Reference links