Commit Graph

44 Commits

Author SHA1 Message Date
Marten Seemann 29fd1022a4 implement relay discovery in autorelay 2022-03-31 11:29:41 +01:00
Marten Seemann 5f9c4075aa add a ResourceManager option 2022-01-18 12:25:32 +04:00
Marten Seemann d24f4f20f8 add an option for the swarm dial timeout 2022-01-04 13:37:21 +04:00
Ettore Di Giacinto b4d2376986
fix typo in options.go (#1274)
Co-authored-by: Marten Seemann <martenseemann@gmail.com>
Signed-off-by: Ettore Di Giacinto <mudler@mocaccino.org>

Co-authored-by: Marten Seemann <martenseemann@gmail.com>
2022-01-03 23:15:24 -08:00
Marten Seemann 4141cac6f9 pass static relays to EnableAutoRelay 2021-11-14 15:33:59 +04:00
Marten Seemann 9734b8d822 add a WithDefaultStaticRelays AutoRelay option 2021-11-14 14:56:48 +04:00
Marten Seemann efb3b27038 pass options to transport constructors 2021-09-29 15:33:24 +01:00
Marten Seemann 0aeef559d0 add an option to start the relay v2 2021-09-27 14:18:18 +01:00
vyzo 22b62cfd65
autorelay support for circuitv2 relays (#1198)
* move host/relay to host/autorelay

* move autorelay wrapper host to package

* support v2 relays in autorelay

* test autorelay with both v1 and v2 relays

* fix test race

* go mod tidy examples/pubsub/chat

static checker complains; sigh.

* refactor reservation refresh loop

* merge background and refresh goroutines

* handle pushes synchronously from reservation refresh failures

* make connmanager tag a package level constant

* dont sleep to wait for identify, use IdentifyWait

* make relay protocol ids package-level constants

* add comment about v1 relays not having reservations

* use errgrp instead of WaitGroup with atomic int

* fix variable capture bug

* go get x/sync
2021-09-25 05:47:39 -07:00
vyzo 79d995404c
Use circuitv2 code (#1183)
* move circuitv2 to p2p/protocol

* update circuitv2 imports

* RIP circuit v2; use circuitv2

* fix autorelay test

* fix holepunch test

* fix relay example
2021-09-10 02:43:58 -07:00
Marten Seemann 8206fcda76
signalling for hole punching (#1168)
* hole punching protocol

* implement the new retry logic (opening a new stream per hole punch)

* rename the holepunch.HolePunchService to holepunch.Service

* remove stream handler when closing

* remove misleading comment from protobuf, add link to spec

* remove unnecessary netNotifiee.HolePunchService

* simplify receiving from the timer channel

* don't defer the closing of the hole punching stream

* only accept hole punch streams from relayed peers

* refactor error logging

* fix incorrect counting of incoming hole punch attempts

* rename HolePunch to DirectConnect

* fix usage of the wait group to close the hole punch service

* use a gc to the garbage collect the holepunch tracer

* check directionality of connection when accepting the hole punch stream

* add comment why we only call Connect once

* move deduplication logic to the holepunch service

Co-authored-by: aarshkshah1992 <aarshkshah1992@gmail.com>
2021-09-08 09:41:48 -07:00
Marten Seemann 08aaa43549 remove deprecated Filter option 2021-07-23 10:22:20 +02:00
Steven Allen 46b0ec92ff doc: document standard connection manager
Otherwise, it's completely undiscoverable.
2021-05-13 12:48:06 -07:00
Cory Schwartz 04a93f4080 static check fixes 2021-04-29 14:08:24 -07:00
vyzo b313b4af98 option for custom dns resolver 2021-04-12 12:42:56 +03:00
Raúl Kripalani d4d6adff6e
make the {F=>f}iltersConnectionGater private. (#946) 2020-05-20 16:27:31 +01:00
Aarsh Shah 887f2c40cf
implement connection gating at the top level (#881) 2020-05-15 17:31:03 +01:00
Will Scott c08993b4e8
switch bool to enum 2020-04-13 10:23:22 -07:00
Will Scott 5473f0ea0e
clarify nat options 2020-04-10 13:12:19 -07:00
Will Scott 97be7d6b7b
Expose option for setting autonat throttling 2020-04-10 12:19:52 -07:00
Will Scott 1f18d0f3e2
Clearer naming of nat override options 2020-04-08 09:51:38 -07:00
Will Scott 685ba00833
update to current autonat interface 2020-03-19 13:27:48 -07:00
Will Scott 8037ce2dca
generation of dialer host when needed 2020-03-17 11:29:36 -07:00
Steven Allen 8248da96b0 doc(options): fix autorelay documentation
Routing is only required for autorelay when no static relays are configured.
2020-03-09 07:40:38 -07:00
Marten Seemann 68f9fd0e13 change PrivateNetwork to accept a PSK, update constructor magic 2020-03-06 18:41:16 -08:00
Vasco Santos fe2c13c71b docs: uniform comment sentences 2020-03-03 15:33:32 +01:00
Steven Allen 76944c4fc8
Merge pull request #705 from libp2p/feat/static-relays
options to configure static relays for autorelay
2020-01-17 05:22:16 -08:00
vyzo 9cd56c0bab use a global variable for default relays
and rename DefaultRelays option to DefaultStaticRelays.
2019-10-08 13:01:29 +03:00
Alex Browne 1b9b84b810 Add Filters option (#717)
The new `Filters` option allows users to take ownership of the `Filters` struct, and is suitable for cases where the addresses you want to accept/deny change dynamically.
2019-09-05 12:08:16 +01:00
vyzo 235848850e options to configure known relays for autorelay 2019-08-16 13:02:03 +03:00
Steven Allen d73a51776e new: allow overriding the user-agent with an option
Instead of using a global variable.

This also:

* Adds an option to the identify service to set the user agent.
* Removes the ability to pass an identify service to NewHost as any reasonable
  Identify service already needs to be constructed with an instance of the host.
2019-08-12 19:13:21 -07:00
Raúl Kripalani d87f89314c
Consolidate abstractions and core types into go-libp2p-core (#601) 2019-05-26 22:55:46 +01:00
vyzo fee7b01e32 add missing word 2019-04-06 18:11:33 +03:00
Steven Allen 1d8efc31aa doc: document relay options 2019-04-06 07:42:38 -07:00
vyzo a1b5b9ed53 explicit option to enable autorelay 2018-12-04 12:09:52 +02:00
vyzo 8faf5403c5 fix typo 2018-11-04 10:52:29 +02:00
vyzo d24fe6ae91 update libp2p.New constructor to construct relayed/routed hosts 2018-11-04 10:52:29 +02:00
Steven Allen d59ca83d48 switch to DisablePing instead of PingCustom 2018-10-24 07:44:25 -07:00
vyzo 1056fa8119 Ping constructor option, enabled by default 2018-10-19 12:37:20 +03:00
vyzo 5834054ad8 fix typo 2018-09-28 12:50:53 +03:00
vyzo 0600392e23 enable relay by default in New 2018-09-28 11:30:45 +03:00
Steven Allen a36d383413 add tests for NoTransports and NoListen 2018-08-21 14:40:18 -07:00
Steven Allen ad5b7b9ba6 add options for disabling the default listen address/transports
So, in go-ipfs at least, we *don't* pass the listen addresses into the libp2p
constructor. Instead, we specify them later.

This option allows us to tell libp2p to not listen by default.
2018-08-21 14:40:18 -07:00
Steven Allen 41c6834850 refactor for transport changes
Also, make the libp2p constructor fully useful. There should now be no need to
manually construct a swarm/host.
2018-06-04 21:22:24 -07:00