from 8f907c4d440328cc181797207885a72916f258d4

Project: http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/commit/99f8415f
Tree: 
http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/tree/99f8415f
Diff: 
http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/diff/99f8415f

Branch: refs/heads/asf-site
Commit: 99f8415fae54b7319b82235e42af7c32c9ef8abb
Parents: ca85497
Author: Queenie Ma <queeni...@ucla.edu>
Authored: Thu Sep 8 07:49:35 2016 -0700
Committer: Queenie Ma <queeni...@ucla.edu>
Committed: Thu Sep 8 07:49:35 2016 -0700

----------------------------------------------------------------------
 content/404.html                                |   12 +-
 content/algolia_search.json                     |   15 +-
 content/docs/committers.html                    |   12 +-
 content/docs/common-edgent-operations.html      |   12 +-
 content/docs/community.html                     |   12 +-
 content/docs/console.html                       |   12 +-
 content/docs/edgent-getting-started.html        |   13 +-
 content/docs/edgent_index.html                  |   12 +-
 content/docs/faq.html                           |   12 +-
 content/docs/home.html                          |   12 +-
 content/docs/overview.html                      |   12 +-
 content/docs/quickstart.html                    |   12 +-
 content/docs/samples.html                       |   12 +-
 content/docs/search.html                        |   12 +-
 content/docs/streaming-concepts.html            | 1430 ++++++++++++++++++
 content/docs/tag_collaboration.html             |   14 +-
 content/docs/tag_content_types.html             |   14 +-
 content/docs/tag_formatting.html                |   14 +-
 content/docs/tag_getting_started.html           |   14 +-
 content/docs/tag_mobile.html                    |   14 +-
 content/docs/tag_navigation.html                |   14 +-
 content/docs/tag_publishing.html                |   14 +-
 content/docs/tag_single_sourcing.html           |   14 +-
 content/docs/tag_special_layouts.html           |   14 +-
 content/prince-file-list.txt                    |    5 +
 .../recipe_adaptable_deadtime_filter.html       |   12 +-
 .../recipes/recipe_adaptable_filter_range.html  |   12 +-
 .../recipe_adaptable_polling_source.html        |   12 +-
 ...pe_combining_streams_processing_results.html |   12 +-
 .../recipes/recipe_concurrent_analytics.html    |   12 +-
 ...ipe_different_processing_against_stream.html |   12 +-
 .../recipe_dynamic_analytic_control.html        |   12 +-
 .../recipes/recipe_external_filter_range.html   |   12 +-
 content/recipes/recipe_hello_edgent.html        |   12 +-
 content/recipes/recipe_parallel_analytics.html  |   12 +-
 content/recipes/recipe_source_function.html     |   12 +-
 content/recipes/recipe_value_out_of_range.html  |   12 +-
 content/search.json                             |   11 +
 content/title-checker.html                      |  143 ++
 content/titlepage.html                          |   14 +-
 content/tocpage.html                            |   18 +-
 content/urls_mydoc.txt                          |    7 +
 42 files changed, 2032 insertions(+), 38 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/99f8415f/content/404.html
----------------------------------------------------------------------
diff --git a/content/404.html b/content/404.html
index a4b1b7f..b04a581 100644
--- a/content/404.html
+++ b/content/404.html
@@ -308,6 +308,16 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/streaming-concepts.html">Streaming 
concepts</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/common-edgent-operations.html">Common 
operations</a></li>
                     
 
@@ -632,7 +642,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Sep 6, 2016 <br/>
+            generated: Sep 8, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/99f8415f/content/algolia_search.json
----------------------------------------------------------------------
diff --git a/content/algolia_search.json b/content/algolia_search.json
index 3619ed0..e3ab390 100644
--- a/content/algolia_search.json
+++ b/content/algolia_search.json
@@ -65,7 +65,7 @@
 "keywords": "",
 "url": "../docs/edgent-getting-started",
 "summary": "",
-"body": "## What is Apache Edgent?Edgent is an open source programming model 
and runtime for edge devices that enables you to analyze streaming data on your 
edge devices. When you analyze on the edge, you can:* Reduce the amount of data 
that you transmit to your analytics server* Reduce the amount of data that you 
storeFor more information, see the [Edgent overview](home).### Apache Edgent 
and streaming analyticsThe fundamental building block of an Edgent application 
is a **stream**: a continuous sequence of tuples (messages, events, sensor 
readings, and so on).The Edgent API provides the ability to process or analyze 
each tuple as it appears on a stream, resulting in a derived stream.Source 
streams are streams that originate data for analysis, such as readings from a 
device's temperature sensor.Streams are terminated using sink functions that 
can perform local device control or send information to centralized analytic 
systems through a message hub.Edgent's primary API is functional
  where streams are sourced, transformed, analyzed or sinked though functions, 
typically represented as lambda expressions, such as `reading -> reading  80` 
to filter temperature readings in Fahrenheit.### Downloading Apache EdgentTo 
use Edgent, access the source code and build it. You can read more about 
building Edgent [here]({{ site.data.project.source_repository_mirror 
}}/blob/master/DEVELOPMENT.md).After you build the Edgent package, you can set 
up your environment.### Setting up your environmentEnsure that you are running 
a supported environment. For more information, see the [Edgent overview](home). 
This guide assumes you're running Java 8.The Edgent Java 8 JAR files are 
located in the `edgent/java8/lib` directory.1. Create a new Java project in 
Eclipse, and specify Java 8 as the execution environment JRE:    2. Modify the 
Java build path to include all of the JAR files in the `edgent\\java8\\lib` 
directory:    Your environment is set up! You can start writing your first Edgen
 t application.## Creating a simple applicationIf you're new to Edgent or to 
writing streaming applications, the best way to get started is to write a 
simple program.Edgent is a framework that pushes data analytics and machine 
learning to *edge devices*. (Edge devices include things like routers, 
gateways, machines, equipment, sensors, appliances, or vehicles that are 
connected to a network.) Edgent enables you to process data locally&mdash;such 
as, in a car engine, on an Android phone, or Raspberry Pi&mdash;before you send 
data over a network.For example, if your device takes temperature readings from 
a sensor 1,000 times per second, it is more efficient to process the data 
locally and send only interesting or unexpected results over the network. To 
simulate this, let's define a (simulated) TempSensor class:```javaimport 
java.util.Random;import org.apache.edgent.function.Supplier;/** * Every time 
get() is called, TempSensor generates a temperature reading. */public class 
TempSensor 
 implements Supplier {    double currentTemp = 65.0;    Random rand;    
TempSensor(){        rand = new Random();    }    @Override    public Double 
get() {        // Change the current temperature some random amount        
double newTemp = rand.nextGaussian() + currentTemp;        currentTemp = 
newTemp;        return currentTemp;    }}```Every time you call 
`TempSensor.get()`, it returns a new temperature reading. The continuous 
temperature readings are a stream of data that an Edgent application can 
process.Our sample Edgent application processes this stream by filtering the 
data and printing the results. Let's define a TempSensorApplication class for 
the application:```javaimport java.util.concurrent.TimeUnit;import 
org.apache.edgent.providers.direct.DirectProvider;import 
org.apache.edgent.topology.TStream;import 
org.apache.edgent.topology.Topology;public class TempSensorApplication {    
public static void main(String[] args) throws Exception {        TempSensor 
sensor = new TempS
 ensor();        DirectProvider dp = new DirectProvider();        Topology 
topology = dp.newTopology();        TStream tempReadings = 
topology.poll(sensor, 1, TimeUnit.MILLISECONDS);        TStream 
filteredReadings = tempReadings.filter(reading -> reading  80);        
filteredReadings.print();        dp.submit(topology);    }}```To understand how 
the application processes the stream, let's review each line.### Specifying a 
providerYour first step when you write an Edgent application is to create a 
[`DirectProvider`]({{ site.docsurl }}/index.html?org/apache/{{ 
site.data.project.unix_name 
}}/providers/direct/DirectProvider.html):```javaDirectProvider dp = new 
DirectProvider();```A `Provider` is an object that contains information on how 
and where your Edgent application will run. A `DirectProvider` is a type of 
Provider that runs your application directly within the current virtual machine 
when its `submit()` method is called.### Creating a topologyAdditionally a 
Provider is used to cr
 eate a [`Topology`]({{ site.docsurl }}/index.html?org/apache/{{ 
site.data.project.unix_name }}/topology/Topology.html) instance:```javaTopology 
topology = dp.newTopology();```In Edgent, `Topology` is a container that 
describes the structure of your application:* Where the streams in the 
application come from* How the data in the stream is modifiedIn the TempSensor 
application above, we have exactly one data source: the `TempSensor` object. We 
define the source stream by calling `topology.poll()`, which takes both a 
`Supplier` function and a time parameter to indicate how frequently readings 
should be taken. In our case, we read from the sensor every 
millisecond:```javaTStream tempReadings = topology.poll(sensor, 1, 
TimeUnit.MILLISECONDS);```### Defining the `TStream` objectCalling 
`topology.poll()` to define a source stream creates a `TStream` instance, which 
represents the series of readings taken from the temperature sensor.A streaming 
application can run indefinitely, so the `TSt
 ream` might see an arbitrarily large number of readings pass through it. 
Because a `TStream` represents the flow of your data, it supports a number of 
operations which allow you to modify your data.### Filtering a `TStream`In our 
example, we want to filter the stream of temperature readings, and remove any 
\"uninteresting\" or expected readings&mdash;specifically readings which are 
above 50 degrees and below 80 degrees. To do this, we call the `TStream`'s 
`filter` method and pass in a function that returns *true* if the data is 
interesting and *false* if the data is uninteresting:```javaTStream 
filteredReadings = tempReadings.filter(reading -> reading  80);```As you can 
see, the function that is passed to `filter` operates on each tuple 
individually. Unlike data streaming frameworks like [Apache 
Spark](https://spark.apache.org/), which operate on a collection of data in 
batch mode, Edgent achieves low latency processing by manipulating each piece 
of data as soon as it becomes availa
 ble. Filtering a `TStream` produces another `TStream` that contains only the 
filtered tuples; for example, the `filteredReadings` stream.### Printing to 
outputWhen our application detects interesting data (data outside of the 
expected parameters), we want to print results. You can do this by calling the 
`TStream.print()` method, which prints using  `.toString()` on each tuple that 
passes through the stream:```javafilteredReadings.print();```Unlike 
`TStream.filter()`, `TStream.print()` does not produce another `TStream`. This 
is because `TStream.print()` is a **sink**, which represents the terminus of a 
stream.In addition to `TStream.print()` there are other sink operations that 
send tuples to an MQTT server, JDBC connection, file, or Kafka cluster. 
Additionally, you can define your own sink by invoking `TStream.sink()` and 
passing in your own function.### Submitting your applicationNow that your 
application has been completely declared, the final step is to run your 
application.`Dir
 ectProvider` contains a `submit()` method, which runs your application 
directly within the current virtual machine:```javadp.submit(topology);```After 
you run your program, you should see output containing only \"interesting\" 
data coming from your 
sensor:```49.90403231177259647.9783750403908446.5927233630903146.68154455165293447.400819234155236...```As
 you can see, all temperatures are outside the 50-80 degree range. In terms of 
a real-world application, this would prevent a device from sending superfluous 
data over a network, thereby reducing communication costs.## Further 
examplesThis example demonstrates a small piece of Edgent's functionality. 
Edgent supports more complicated topologies, such as topologies that require 
merging and splitting data streams, or perform operations which aggregate the 
last *N* seconds of data (for example, calculating a moving average).For more 
complex examples, see:* [Edgent sample programs](samples)* [Common Edgent 
operations](common-edgent-operati
 ons)"
+"body": "## What is Apache Edgent?Edgent is an open source programming model 
and runtime for edge devices that enables you to analyze streaming data on your 
edge devices. When you analyze on the edge, you can:* Reduce the amount of data 
that you transmit to your analytics server* Reduce the amount of data that you 
storeFor more information, see the [Edgent overview](home).### Apache Edgent 
and streaming analyticsThe fundamental building block of an Edgent application 
is a **stream**: a continuous sequence of tuples (messages, events, sensor 
readings, and so on).The Edgent API provides the ability to process or analyze 
each tuple as it appears on a stream, resulting in a derived stream.Source 
streams are streams that originate data for analysis, such as readings from a 
device's temperature sensor.Streams are terminated using sink functions that 
can perform local device control or send information to centralized analytic 
systems through a message hub.Edgent's primary API is functional
  where streams are sourced, transformed, analyzed or sinked though functions, 
typically represented as lambda expressions, such as `reading -> reading  80` 
to filter temperature readings in Fahrenheit.### Downloading Apache EdgentTo 
use Edgent, access the source code and build it. You can read more about 
building Edgent [here]({{ site.data.project.source_repository_mirror 
}}/blob/master/DEVELOPMENT.md).After you build the Edgent package, you can set 
up your environment.### Setting up your environmentEnsure that you are running 
a supported environment. For more information, see the [Edgent overview](home). 
This guide assumes you're running Java 8.The Edgent Java 8 JAR files are 
located in the `edgent/java8/lib` directory.1. Create a new Java project in 
Eclipse, and specify Java 8 as the execution environment JRE:    2. Modify the 
Java build path to include all of the JAR files in the `edgent\\java8\\lib` 
directory:    Your environment is set up! You can start writing your first Edgen
 t application.## Creating a simple applicationIf you're new to Edgent or to 
writing streaming applications, the best way to get started is to write a 
simple program.Edgent is a framework that pushes data analytics and machine 
learning to *edge devices*. (Edge devices include things like routers, 
gateways, machines, equipment, sensors, appliances, or vehicles that are 
connected to a network.) Edgent enables you to process data locally&mdash;such 
as, in a car engine, on an Android phone, or Raspberry Pi&mdash;before you send 
data over a network.For example, if your device takes temperature readings from 
a sensor 1,000 times per second, it is more efficient to process the data 
locally and send only interesting or unexpected results over the network. To 
simulate this, let's define a (simulated) TempSensor class:```javaimport 
java.util.Random;import org.apache.edgent.function.Supplier;/** * Every time 
get() is called, TempSensor generates a temperature reading. */public class 
TempSensor 
 implements Supplier {    double currentTemp = 65.0;    Random rand;    
TempSensor(){        rand = new Random();    }    @Override    public Double 
get() {        // Change the current temperature some random amount        
double newTemp = rand.nextGaussian() + currentTemp;        currentTemp = 
newTemp;        return currentTemp;    }}```Every time you call 
`TempSensor.get()`, it returns a new temperature reading. The continuous 
temperature readings are a stream of data that an Edgent application can 
process.Our sample Edgent application processes this stream by filtering the 
data and printing the results. Let's define a TempSensorApplication class for 
the application:```javaimport java.util.concurrent.TimeUnit;import 
org.apache.edgent.providers.direct.DirectProvider;import 
org.apache.edgent.topology.TStream;import 
org.apache.edgent.topology.Topology;public class TempSensorApplication {    
public static void main(String[] args) throws Exception {        TempSensor 
sensor = new TempS
 ensor();        DirectProvider dp = new DirectProvider();        Topology 
topology = dp.newTopology();        TStream tempReadings = 
topology.poll(sensor, 1, TimeUnit.MILLISECONDS);        TStream 
filteredReadings = tempReadings.filter(reading -> reading  80);        
filteredReadings.print();        dp.submit(topology);    }}```To understand how 
the application processes the stream, let's review each line.### Specifying a 
providerYour first step when you write an Edgent application is to create a 
[`DirectProvider`]({{ site.docsurl }}/index.html?org/apache/{{ 
site.data.project.unix_name 
}}/providers/direct/DirectProvider.html):```javaDirectProvider dp = new 
DirectProvider();```A `Provider` is an object that contains information on how 
and where your Edgent application will run. A `DirectProvider` is a type of 
Provider that runs your application directly within the current virtual machine 
when its `submit()` method is called.### Creating a topologyAdditionally a 
Provider is used to cr
 eate a [`Topology`]({{ site.docsurl }}/index.html?org/apache/{{ 
site.data.project.unix_name }}/topology/Topology.html) instance:```javaTopology 
topology = dp.newTopology();```In Edgent, `Topology` is a container that 
describes the structure of your application:* Where the streams in the 
application come from* How the data in the stream is modifiedIn the TempSensor 
application above, we have exactly one data source: the `TempSensor` object. We 
define the source stream by calling `topology.poll()`, which takes both a 
`Supplier` function and a time parameter to indicate how frequently readings 
should be taken. In our case, we read from the sensor every 
millisecond:```javaTStream tempReadings = topology.poll(sensor, 1, 
TimeUnit.MILLISECONDS);```### Defining the `TStream` objectCalling 
`topology.poll()` to define a source stream creates a `TStream` instance, which 
represents the series of readings taken from the temperature sensor.A streaming 
application can run indefinitely, so the `TSt
 ream` might see an arbitrarily large number of readings pass through it. 
Because a `TStream` represents the flow of your data, it supports a number of 
operations which allow you to modify your data.### Filtering a `TStream`In our 
example, we want to filter the stream of temperature readings, and remove any 
\"uninteresting\" or expected readings&mdash;specifically readings which are 
above 50 degrees and below 80 degrees. To do this, we call the `TStream`'s 
`filter` method and pass in a function that returns *true* if the data is 
interesting and *false* if the data is uninteresting:```javaTStream 
filteredReadings = tempReadings.filter(reading -> reading  80);```As you can 
see, the function that is passed to `filter` operates on each tuple 
individually. Unlike data streaming frameworks like [Apache 
Spark](https://spark.apache.org/), which operate on a collection of data in 
batch mode, Edgent achieves low latency processing by manipulating each piece 
of data as soon as it becomes availa
 ble. Filtering a `TStream` produces another `TStream` that contains only the 
filtered tuples; for example, the `filteredReadings` stream.### Printing to 
outputWhen our application detects interesting data (data outside of the 
expected parameters), we want to print results. You can do this by calling the 
`TStream.print()` method, which prints using  `.toString()` on each tuple that 
passes through the stream:```javafilteredReadings.print();```Unlike 
`TStream.filter()`, `TStream.print()` does not produce another `TStream`. This 
is because `TStream.print()` is a **sink**, which represents the terminus of a 
stream.In addition to `TStream.print()` there are other sink operations that 
send tuples to an MQTT server, JDBC connection, file, or Kafka cluster. 
Additionally, you can define your own sink by invoking `TStream.sink()` and 
passing in your own function.### Submitting your applicationNow that your 
application has been completely declared, the final step is to run your 
application.`Dir
 ectProvider` contains a `submit()` method, which runs your application 
directly within the current virtual machine:```javadp.submit(topology);```After 
you run your program, you should see output containing only \"interesting\" 
data coming from your 
sensor:```49.90403231177259647.9783750403908446.5927233630903146.68154455165293447.400819234155236...```As
 you can see, all temperatures are outside the 50-80 degree range. In terms of 
a real-world application, this would prevent a device from sending superfluous 
data over a network, thereby reducing communication costs.## Further 
examplesThis example demonstrates a small piece of Edgent's functionality. 
Edgent supports more complicated topologies, such as topologies that require 
merging and splitting data streams, or perform operations which aggregate the 
last *N* seconds of data (for example, calculating a moving average).For more 
complex examples, see:* [Edgent sample programs](samples)* [Stream processing 
concepts](streaming-concepts)
 * [Common Edgent operations](common-edgent-operations)"
 
 },
 
@@ -328,6 +328,19 @@
 
 
 
+{
+"title": "Streaming concepts",
+"tags": "",
+"keywords": "",
+"url": "../docs/streaming-concepts",
+"summary": "",
+"body": "An Edgent application is most useful when processing some sort of 
data. This page is intended to help you understand stream processing concepts 
by visually demonstrating some of the operations that can be invoked on a 
stream, along with code snippets. For example,* [filter]({{ site.docsurl 
}}/org/apache/{{ site.data.project.unix_name 
}}/topology/TStream.html#filter-org.apache.{{ site.data.project.unix_name 
}}.function.Predicate-)* [split]({{ site.docsurl }}/org/apache/{{ 
site.data.project.unix_name }}/topology/TStream.html#split-int-org.apache.{{ 
site.data.project.unix_name }}.function.ToIntFunction-)* [union]({{ 
site.docsurl }}/org/apache/{{ site.data.project.unix_name 
}}/topology/TStream.html#union-org.apache.{{ site.data.project.unix_name 
}}.topology.TStream-)* [partitioned window]({{ site.docsurl }}/org/apache/{{ 
site.data.project.unix_name 
}}/topology/TStream.html#last-long-java.util.concurrent.TimeUnit-org.apache.{{ 
site.data.project.unix_name }}.function.Function-)* 
 [continuous aggregation]({{ site.docsurl }}/org/apache/{{ 
site.data.project.unix_name }}/topology/TWindow.html#aggregate-org.apache.{{ 
site.data.project.unix_name }}.function.BiFunction-)* [batch]({{ site.docsurl 
}}/org/apache/{{ site.data.project.unix_name 
}}/topology/TWindow.html#batch-org.apache.{{ site.data.project.unix_name 
}}.function.BiFunction-)## Filter### Edgent code```javaTStream filtered = 
stream.filter(t -> t >= 5);```### Explanation**Input stream**: Tuples, such as 
sensor readings, are continually produced and represented as a red stream on 
the left.**Filtered stream**: A filter operation of `t >= 5` is applied, 
resulting in a green output stream on the right that contains tuples with 
values greater than or equal to five.---## Split### Edgent code```javaList> 
streams = stream.split(2, tuple -> tuple.getVal());```### Explanation**Input 
streams**: Tuples, such as sensor readings, are continually produced and 
represented as a red stream on the left.**Split streams**: A sp
 lit operation of `getVal()` is applied, resulting in two output streams on the 
right, one green and one purple. The green stream contains tuples with values 
that are even integers, while the purple stream contains tuples with values 
that are odd integers.---## Union### Edgent code```javaTStream stream = 
stream1.union(stream2);```### Explanation**Input streams**: Tuples, such as 
sensor readings, are continually produced on two different streams, represented 
as a red stream and a green stream on the left.**Unioned stream**: A union 
operation is applied, resulting in a single purple output stream on the right. 
The stream contains tuples from both input streams.---## Window (last 5 
seconds)### Edgent code```javaTWindow window = stream.last(5, TimeUnit.SECONDS, 
tuple -> 0);```### Explanation**Input stream**: Tuples, such as sensor 
readings, are continually produced and represented as a red stream on the 
left.**Window**: A window declaration of the last five seconds of tuples 
results in t
 he window outlined in blue containing green tuples. A tuple is inserted into 
the window when it appears on the stream and is evicted five seconds later, 
since it will have been in the window for five seconds at that point.---## 
Continuous aggregate (max, last 5 seconds)### Edgent code```javaTWindow window 
= stream.last(5, TimeUnit.SECONDS, tuple -> 0);TStream max = 
window.aggregate((tuples, key) -> {    return Collections.max(tuples);});```### 
Explanation**Input stream**: Tuples, such as sensor readings, are continually 
produced and represented as a red stream on the left.**Window**: A window 
declaration of the last five seconds of tuples results in the window outlined 
in blue containing green tuples. A tuple is inserted into the window when it 
appears on the stream and is evicted five seconds later, since it will have 
been in the window for five seconds at that point.**Aggregation**: The window 
is *continuously* aggregated to find the maximum value in the window. 
*Continuously aggr
 egated* means that every time the window contents changes, the aggregate is 
calculated and a tuple is produced on the purple output stream. The window 
changes every time a tuple is inserted or evicted, where time-based window 
insertions and evictions are independent events.---## Batch (size, last 5 
seconds)### Edgent code```javaTWindow window = stream.last(5, TimeUnit.SECONDS, 
tuple -> 0);TStream size = window.batch((tuples, key) -> {    return 
tuples.size();});```### Explanation**Input stream**: Tuples, such as sensor 
readings, are continually produced and represented as a red stream on the 
left.**Window**: A window declaration of the last five seconds of tuples 
results in the window outlined in blue containing green tuples. A tuple is 
inserted into the window when it appears on the stream and is evicted five 
seconds later, since it will have been in the window for five seconds at that 
point.**Batch**: The window is batched to find the number of tuples in the 
window. A *batch* mean
 s that every 5 seconds, the size of the window is calculated and a tuple is 
produced on the purple output stream."
+
+},
+
+
+
+
 
 
 

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/99f8415f/content/docs/committers.html
----------------------------------------------------------------------
diff --git a/content/docs/committers.html b/content/docs/committers.html
index 252c76c..0d3dca3 100644
--- a/content/docs/committers.html
+++ b/content/docs/committers.html
@@ -308,6 +308,16 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/streaming-concepts.html">Streaming 
concepts</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/common-edgent-operations.html">Common 
operations</a></li>
                     
 
@@ -644,7 +654,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Sep 6, 2016 <br/>
+            generated: Sep 8, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/99f8415f/content/docs/common-edgent-operations.html
----------------------------------------------------------------------
diff --git a/content/docs/common-edgent-operations.html 
b/content/docs/common-edgent-operations.html
index a5ec941..61bb872 100644
--- a/content/docs/common-edgent-operations.html
+++ b/content/docs/common-edgent-operations.html
@@ -308,6 +308,16 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/streaming-concepts.html">Streaming 
concepts</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li class="active"><a 
href="../docs/common-edgent-operations.html">Common operations</a></li>
                     
 
@@ -677,7 +687,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Sep 6, 2016 <br/>
+            generated: Sep 8, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/99f8415f/content/docs/community.html
----------------------------------------------------------------------
diff --git a/content/docs/community.html b/content/docs/community.html
index 3f97fc5..9db2a86 100644
--- a/content/docs/community.html
+++ b/content/docs/community.html
@@ -308,6 +308,16 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/streaming-concepts.html">Streaming 
concepts</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/common-edgent-operations.html">Common 
operations</a></li>
                     
 
@@ -698,7 +708,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Sep 6, 2016 <br/>
+            generated: Sep 8, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/99f8415f/content/docs/console.html
----------------------------------------------------------------------
diff --git a/content/docs/console.html b/content/docs/console.html
index 6d4fb2c..5909889 100644
--- a/content/docs/console.html
+++ b/content/docs/console.html
@@ -308,6 +308,16 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/streaming-concepts.html">Streaming 
concepts</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/common-edgent-operations.html">Common 
operations</a></li>
                     
 
@@ -1103,7 +1113,7 @@ Metrics.rateMeter(individualAlerts3.get(0));
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Sep 6, 2016 <br/>
+            generated: Sep 8, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/99f8415f/content/docs/edgent-getting-started.html
----------------------------------------------------------------------
diff --git a/content/docs/edgent-getting-started.html 
b/content/docs/edgent-getting-started.html
index 071f7b1..66df22c 100644
--- a/content/docs/edgent-getting-started.html
+++ b/content/docs/edgent-getting-started.html
@@ -308,6 +308,16 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/streaming-concepts.html">Streaming 
concepts</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/common-edgent-operations.html">Common 
operations</a></li>
                     
 
@@ -769,6 +779,7 @@ $('#toc').on('click', 'a', function() {
 
 <ul>
 <li><a href="samples">Edgent sample programs</a></li>
+<li><a href="streaming-concepts">Stream processing concepts</a></li>
 <li><a href="common-edgent-operations">Common Edgent operations</a></li>
 </ul>
 
@@ -803,7 +814,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Sep 6, 2016 <br/>
+            generated: Sep 8, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/99f8415f/content/docs/edgent_index.html
----------------------------------------------------------------------
diff --git a/content/docs/edgent_index.html b/content/docs/edgent_index.html
index 0b9c10e..0db9a87 100644
--- a/content/docs/edgent_index.html
+++ b/content/docs/edgent_index.html
@@ -308,6 +308,16 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/streaming-concepts.html">Streaming 
concepts</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/common-edgent-operations.html">Common 
operations</a></li>
                     
 
@@ -657,7 +667,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Sep 6, 2016 <br/>
+            generated: Sep 8, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/99f8415f/content/docs/faq.html
----------------------------------------------------------------------
diff --git a/content/docs/faq.html b/content/docs/faq.html
index 1fa6d15..d8514db 100644
--- a/content/docs/faq.html
+++ b/content/docs/faq.html
@@ -308,6 +308,16 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/streaming-concepts.html">Streaming 
concepts</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/common-edgent-operations.html">Common 
operations</a></li>
                     
 
@@ -718,7 +728,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Sep 6, 2016 <br/>
+            generated: Sep 8, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/99f8415f/content/docs/home.html
----------------------------------------------------------------------
diff --git a/content/docs/home.html b/content/docs/home.html
index dc94c53..6b77a19 100644
--- a/content/docs/home.html
+++ b/content/docs/home.html
@@ -308,6 +308,16 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/streaming-concepts.html">Streaming 
concepts</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/common-edgent-operations.html">Common 
operations</a></li>
                     
 
@@ -719,7 +729,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Sep 6, 2016 <br/>
+            generated: Sep 8, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/99f8415f/content/docs/overview.html
----------------------------------------------------------------------
diff --git a/content/docs/overview.html b/content/docs/overview.html
index 56a026f..adf8a82 100644
--- a/content/docs/overview.html
+++ b/content/docs/overview.html
@@ -308,6 +308,16 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/streaming-concepts.html">Streaming 
concepts</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/common-edgent-operations.html">Common 
operations</a></li>
                     
 
@@ -704,7 +714,7 @@ medical device.</li>
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Sep 6, 2016 <br/>
+            generated: Sep 8, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/99f8415f/content/docs/quickstart.html
----------------------------------------------------------------------
diff --git a/content/docs/quickstart.html b/content/docs/quickstart.html
index 2d22916..a956db4 100644
--- a/content/docs/quickstart.html
+++ b/content/docs/quickstart.html
@@ -308,6 +308,16 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/streaming-concepts.html">Streaming 
concepts</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/common-edgent-operations.html">Common 
operations</a></li>
                     
 
@@ -674,7 +684,7 @@ and Edgent provides a <a 
href="http://edgent.incubator.apache.org/javadoc/latest
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Sep 6, 2016 <br/>
+            generated: Sep 8, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/99f8415f/content/docs/samples.html
----------------------------------------------------------------------
diff --git a/content/docs/samples.html b/content/docs/samples.html
index 99cfd4b..c94d184 100644
--- a/content/docs/samples.html
+++ b/content/docs/samples.html
@@ -308,6 +308,16 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/streaming-concepts.html">Streaming 
concepts</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/common-edgent-operations.html">Common 
operations</a></li>
                     
 
@@ -695,7 +705,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Sep 6, 2016 <br/>
+            generated: Sep 8, 2016 <br/>
 
         </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-edgent-website/blob/99f8415f/content/docs/search.html
----------------------------------------------------------------------
diff --git a/content/docs/search.html b/content/docs/search.html
index 3c533c6..03fae50 100644
--- a/content/docs/search.html
+++ b/content/docs/search.html
@@ -308,6 +308,16 @@ window.location.href = uri;
                     
                     
                     
+                    <li><a href="../docs/streaming-concepts.html">Streaming 
concepts</a></li>
+                    
+
+                    
+
+                    
+                    
+                    
+                    
+                    
                     <li><a href="../docs/common-edgent-operations.html">Common 
operations</a></li>
                     
 
@@ -622,7 +632,7 @@ $('#toc').on('click', 'a', function() {
         <div class="col-lg-12 footer">
 
              Site last
-            generated: Sep 6, 2016 <br/>
+            generated: Sep 8, 2016 <br/>
 
         </div>
     </div>


Reply via email to