# code-block-pro/1.5.0/build/shiki/samples/fsl.sample

Code Block Pro – Beautiful Syntax Highlighting, version 1.5.0. 47 lines.

- Page: https://pluginprobe.com/plugins/code-block-pro/1.5.0/code/build/shiki/samples/fsl.sample
- Raw: https://pluginprobe.com/plugins/code-block-pro/1.5.0/raw/build/shiki/samples/fsl.sample
- Modified: 2022-08-22T22:25:46+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/code-block-pro/1.5.0/code/build/shiki/samples/fsl.sample#L10-L20`.

```

machine_name      : "TCP/IP";
machine_reference : "http://www.texample.net/tikz/examples/tcp-state-machine/";
machine_version   : 1.0.0;

machine_author    : "John Haugeland <stonecypher@gmail.com>";
machine_license   : MIT;

jssm_version      : >= 5.0.0;



Closed 'Passive open'      -> Listen;
Closed 'Active Open / SYN' -> SynSent;

Listen 'Close'         -> Closed;
Listen 'Send / SYN'    -> SynSent;
Listen 'SYN / SYN+ACK' -> SynRcvd;

SynSent 'Close'         -> Closed;
SynSent 'SYN / SYN+ACK' -> SynRcvd;
SynSent 'SYN+ACK / ACK' -> Established;

SynRcvd 'Timeout / RST' -> Closed;
SynRcvd 'Close / FIN'   -> FinWait1;
SynRcvd 'ACK'           -> Established;

Established 'Close / FIN' -> FinWait1;
Established 'FIN / ACK'   -> CloseWait;

FinWait1 'FIN / ACK'     -> Closing;  // the source diagram has this action wrong
FinWait1 'FIN+ACK / ACK' -> TimeWait;
FinWait1 'ACK / Nothing' -> FinWait2; // see http://www.cs.odu.edu/~cs779/spring17/lectures/architecture_files/image009.jpg

FinWait2 'FIN / ACK' -> TimeWait;

Closing 'ACK' -> TimeWait;

TimeWait 'Up to 2*MSL' -> Closed;

CloseWait 'Close / FIN' -> LastAck;

LastAck 'ACK' -> Closed;



# From https://github.com/StoneCypher/jssm/blob/main/src/machines/linguist/tcp%20ip.fsl
```
