---
title: "setReadHandler(_:maxDatagrams:)"
framework: networkextension
role: symbol
role_heading: Instance Method
path: "networkextension/nwudpsession/setreadhandler(_:maxdatagrams:)"
---

# setReadHandler(_:maxDatagrams:)

Set a read handler for datagrams.

## Declaration

```swift
func setReadHandler(_ handler: @escaping ([Data]?, (any Error)?) -> Void, maxDatagrams: Int)
```

## Parameters

- `handler`: A handler called when datagrams have been read, or when an error has occurred.
- `maxDatagrams`: The maximum number of datagrams to send to the handler.

## Discussion

Discussion Reads will be scheduled by the system, so this method only needs to be called once for a session.

## See Also

### Transferring data

- [writeDatagram(_:completionHandler:)](networkextension/nwudpsession/writedatagram(_:completionhandler:).md)
- [writeMultipleDatagrams(_:completionHandler:)](networkextension/nwudpsession/writemultipledatagrams(_:completionhandler:).md)
- [maximumDatagramLength](networkextension/nwudpsession/maximumdatagramlength.md)
