Skip to content

Commit

Permalink
doc: Adds documentation for SingleSpider (Fixes: #206)
Browse files Browse the repository at this point in the history
  • Loading branch information
irl committed Jan 15, 2018
1 parent bfba9af commit 1a32b64
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 6 deletions.
14 changes: 9 additions & 5 deletions doc/_static/models.dot
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,23 @@ digraph decide {

node [shape=record;]
nativestack [label="Is the feature available in the native stack?"];
configurable [label="Do you need to make multiple connections with differing configurations?"];
systemwide [label="Do you need to switch a kernel option or other system wide configuation?"];
node [shape=record;fillcolor="yellow"; style="filled"]
sync [label="SynchronizedSpider"];
desync [label="DesynchronizedSpider"];
forge [label="ForgeSpider"];
single [label="SingleSpider"];
node [shape=circle, fixedsize=true; width=0.9;label="yes";fillcolor="green";style="filled"];
yes1; yes2;
yes1; yes2; yes3;
node [label="no";fillcolor="red"; style="filled"];
no1; no2;
no1; no2; no3;

nativestack -> yes1 -> systemwide;
nativestack -> yes1 -> configurable;
nativestack -> no1 -> forge;
systemwide -> yes2 -> sync;
systemwide -> no2 -> desync;
configurable -> yes2 -> systemwide;
configurable -> no2 -> single;
systemwide -> yes3 -> sync;
systemwide -> no3 -> desync;

}
Binary file modified doc/_static/models.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions doc/plugindev/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,6 @@ without being a part of the PATHspider distribution.
common.rst
sync.rst
desync.rst
single.rst
forge.rst
chains.rst
10 changes: 9 additions & 1 deletion doc/plugindev/models.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Choosing a Plugin Model
=======================

To be as flexible as possible while using real network stacks, PATHspider has 3
To be as flexible as possible while using real network stacks, PATHspider has 4
models for plugins. The following flowchart can help you to decide which model
best suits your use case:

Expand Down Expand Up @@ -34,6 +34,14 @@ measurements. The connection helper you are using must support the feature
which means for most helpers that it must be supported by both libcurl and
pycurl.

SingleSpider Model
------------------

This model was developed for TCP Maximum Segment Size discovery. In this case,
only a single connection is required with no global configuration or
customisation of the connection. All work is done by the Observer or using the
output of the connection helpers.

ForgeSpider Model
-----------------

Expand Down
9 changes: 9 additions & 0 deletions doc/plugindev/single.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
SingleSpider Development
========================

SingleSpider uses the built-in connection helpers to make a single connection
to the target which is optionally observed by Observer chains.

This is the simplest model and only requires a ``combine_flows`` function to
generate conditions from the connection helper output and flow record output
from the Observer.

0 comments on commit 1a32b64

Please sign in to comment.