---
title: Setting Routing Hints
slug: v4-7/sync/setting-routing-hints
docTags: 
createdAt: 2024-04-03T20:23:34.564Z
---

This article includes concepts and step-by-step instructions for modeling, configuring, and managing routing hints within your app.&#x20;

# Overview

When using the Big Peer optional cloud deployment and managing large document collections, you can group peers with similar data access patterns by assigning specific labels, known as *routing hints.&#x20;*

Represented as an unsigned integer with 32 bits (`uint32`), a routing hint is a value you define at the device level that the Big Peer references to optimize connections with peers consuming the same datasets.

## Example Usage Scenario

In a scenario where several restaurants operate on the same Big Peer cloud instance and devices within each restaurant share the same cloud data, assigning a single routing hint across peers within each restaurant optimizes individual peer connections with the Big Peer.&#x20;

# Implementing Routing Hints

To set a routing hint in your app, from the top-most scope before starting the sync process:

:::::WorkflowBlock
::::WorkflowBlockItem
Instantiate a `TransportConfig` object:

:::CodeblockTabs
```swift
var config = DittoTransportConfig()
config.global.routingHint = 1234

ditto.transportConfig = config

do {
  try ditto.startSync()
} catch (let error) {
  print(error.localizedDescription)
}
```

```kotlin
val config = DittoTransportConfig()
config.global.routingHint = 1234U

ditto.transportConfig = config

ditto.startSync()
```

```javascript
const config = new TransportConfig()
```

```java
// not supported in Java
```

```csharp
DittoTransportConfig transportConfig = new DittoTransportConfig();
transportConfig.Global.RoutingHint = 1234;

ditto.TransportConfig = transportConfig;

ditto.StartSync();
```

```cpp
auto config = ditto::TransportConfig();
config.global.routing_hint = 1234;

ditto.set_transport_config(config);

ditto.start_sync();
```

```rust
let mut config = TransportConfig::new();
config.global.routing_hint = 1234;

ditto.set_transport_config(config);
ditto.start_sync()?;
```

Dart(beta)

```dart
// Coming Soon
```
:::
::::

::::WorkflowBlockItem
Set the `routingHint` on the `config`object:

:::CodeblockTabs
```swift
var config = DittoTransportConfig()
config.global.routingHint = 1234

ditto.transportConfig = config

do {
  try ditto.startSync()
} catch (let error) {
  print(error.localizedDescription)
}
```

```kotlin
val config = DittoTransportConfig()
config.global.routingHint = 1234U

ditto.transportConfig = config

ditto.startSync()
```

```javascript
const config = new TransportConfig()
config.global.routingHint = 1234;
```

```java
// not supported in Java
```

```csharp
DittoTransportConfig transportConfig = new DittoTransportConfig();
transportConfig.Global.RoutingHint = 1234;

ditto.TransportConfig = transportConfig;

ditto.StartSync();
```

```cpp
auto config = ditto::TransportConfig();
config.global.routing_hint = 1234;

ditto.set_transport_config(config);

ditto.start_sync();
```

```rust
let mut config = TransportConfig::new();
config.global.routing_hint = 1234;

ditto.set_transport_config(config);
ditto.start_sync()?;
```

Dart(beta)

```dart
// Coming Soon
```
:::
::::

::::WorkflowBlockItem
Using the `TransportConfig` object, specify the configuration settings for your Ditto instance:

:::CodeblockTabs
```swift
var config = DittoTransportConfig()
config.global.routingHint = 1234

ditto.transportConfig = config

do {
  try ditto.startSync()
} catch (let error) {
  print(error.localizedDescription)
}
```

```kotlin
val config = DittoTransportConfig()
config.global.routingHint = 1234U

ditto.transportConfig = config

ditto.startSync()
```

```javascript
const config = new TransportConfig()
config.global.routingHint = 1234;


ditto.setTransportConfig(config)
ditto.startSync()
```

```java
// not supported in Java
```

```csharp
DittoTransportConfig transportConfig = new DittoTransportConfig();
transportConfig.Global.RoutingHint = 1234;

ditto.TransportConfig = transportConfig;

ditto.StartSync();
```

```cpp
auto config = ditto::TransportConfig();
config.global.routing_hint = 1234;

ditto.set_transport_config(config);

ditto.start_sync();
```

```rust
let mut config = TransportConfig::new();
config.global.routing_hint = 1234;

ditto.set_transport_config(config);
ditto.start_sync()?;
```

Dart(beta)

```dart
// Coming Soon
```
:::
::::
:::::

