# [−] [src] Trait p2p::OutboundSyncConnection

    pub trait OutboundSyncConnection: Send + Sync {
        fn send_inventory(&self, message: &Inv);
        fn send_getdata(&self, message: &GetData);
        fn send_getblocks(&self, message: &GetBlocks);
        fn send_getheaders(&self, message: &GetHeaders);
        fn send_transaction(&self, message: &Tx);
        fn send_block(&self, message: &Block);
        fn send_witness_transaction(&self, message: &Tx);
        fn send_witness_block(&self, message: &Block);
        fn send_headers(&self, message: &Headers);
        fn respond_headers(&self, message: &Headers, id: u32);
        fn send_mempool(&self, message: &MemPool);
        fn send_filterload(&self, message: &FilterLoad);
        fn send_filteradd(&self, message: &FilterAdd);
        fn send_filterclear(&self, message: &FilterClear);
        fn send_merkleblock(&self, message: &MerkleBlock);
        fn send_sendheaders(&self, message: &SendHeaders);
        fn send_feefilter(&self, message: &FeeFilter);
        fn send_send_compact(&self, message: &SendCompact);
        fn send_compact_block(&self, message: &CompactBlock);
        fn send_get_block_txn(&self, message: &GetBlockTxn);
        fn send_block_txn(&self, message: &BlockTxn);
        fn send_notfound(&self, message: &NotFound);
        fn ignored(&self, id: u32);
        fn close(&self);
    }

## Required Methods

### `fn send_inventory(&self, message: &Inv)`

### `fn send_getdata(&self, message: &GetData)`

### `fn send_getblocks(&self, message: &GetBlocks)`

### `fn send_getheaders(&self, message: &GetHeaders)`

### `fn send_transaction(&self, message: &Tx)`

### `fn send_block(&self, message: &Block)`

### `fn send_witness_transaction(&self, message: &Tx)`

### `fn send_witness_block(&self, message: &Block)`

### `fn send_headers(&self, message: &Headers)`

### `fn respond_headers(&self, message: &Headers, id: u32)`

### `fn send_mempool(&self, message: &MemPool)`

### `fn send_filterload(&self, message: &FilterLoad)`

### `fn send_filteradd(&self, message: &FilterAdd)`

### `fn send_filterclear(&self, message: &FilterClear)`

### `fn send_merkleblock(&self, message: &MerkleBlock)`

### `fn send_sendheaders(&self, message: &SendHeaders)`

### `fn send_feefilter(&self, message: &FeeFilter)`

### `fn send_send_compact(&self, message: &SendCompact)`

### `fn send_compact_block(&self, message: &CompactBlock)`

### `fn send_get_block_txn(&self, message: &GetBlockTxn)`

### `fn send_block_txn(&self, message: &BlockTxn)`

### `fn send_notfound(&self, message: &NotFound)`

### `fn ignored(&self, id: u32)`

### `fn close(&self)`

## Implementors

# Help

## Keyboard Shortcuts

`?`
  Show this help dialog
`S`
  Focus the search field
`↑`
  Move up in search results
`↓`
  Move down in search results
`↹`
  Switch tab
`⏎`
  Go to active search result
`+`
  Expand all sections
`-`
  Collapse all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)

Search multiple things at once by splitting your query with comma (e.g. `str,u8` or `String,struct:Vec,test`)