---
title: nw_framer_start_handler_t
framework: network
role: symbol
role_heading: Type Alias
path: network/nw_framer_start_handler_t
---

# nw_framer_start_handler_t

A handler that represents the entry point into your custom protocol.

## Declaration

```swift
typealias nw_framer_start_handler_t = (nw_framer_t) -> nw_framer_start_result_t
```

## Return Value

Return Value Return a start result indicating if the connection should become ready immediately, or wait for you protocol to perform a handshake.

## Discussion

Discussion Within your start handler, you should register all other callbacks for your custom protocol, particularly nw_framer_set_output_handler(_:_:) and nw_framer_set_input_handler(_:_:). Any state that you need to be associated with your protocol as customizable options can be captured within the start block.

## See Also

### Adding Framers to Connections

- [nw_framer_create_definition(_:_:_:)](network/nw_framer_create_definition(_:_:_:).md)
- [nw_framer_t](network/nw_framer_t.md)
- [nw_framer_start_result_t](network/nw_framer_start_result_t.md)
- [NW_FRAMER_CREATE_FLAGS_DEFAULT](network/nw_framer_create_flags_default.md)
- [nw_framer_create_options(_:)](network/nw_framer_create_options(_:).md)
