Relay's cursor connection specification is defined to provide a consistent method for query paging. For more details on the specification see the [GraphQL Cursor Connections Specification](https://facebook.github.io/relay/graphql/connections.htm)。
It is simple to define a cursor connection in `Async-GraphQL`
1. Implement `async_graphql::DataSource` and write the `query_operation` function.
2. Call `DataSource::query` in the field's resolve function and return the result.
Here is a simple data source that returns continuous integers:
```rust
use async_graphql::*;
struct Integers;
#[DataSource]
impl DataSource for Integers {
// Type for response
type Element = i32;
// We don't need to extend the edge fields, so this can be empty