Skip to content

Commit

Permalink
feat: Add core.NodeConfig with ProximityDriver. Change NewNode to use…
Browse files Browse the repository at this point in the history
… it.

Signed-off-by: jefft0 <jeff@thefirst.org>
  • Loading branch information
jefft0 committed Oct 18, 2022
1 parent 86b3210 commit 7f1d1ff
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 5 deletions.
6 changes: 4 additions & 2 deletions android/bridge/src/main/java/ipfs/gomobile/android/IPFS.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import core.Core;
import core.Config;
import core.Repo;
import core.NodeConfig;
import core.Node;
import core.Shell;
import core.SockManager;
Expand Down Expand Up @@ -163,11 +164,12 @@ synchronized public void start() throws NodeStartException {
throw new NodeStartException("Node already started");
}

BleInterface BLEDriver = new BleInterface(context.get(), true);
NodeConfig nodeConfig = Core.newNodeConfig();
nodeConfig.setBleDriver(new BleInterface(context.get(), true));

try {
openRepoIfClosed();
node = Core.newNode(repo, BLEDriver);
node = Core.newNode(repo, nodeConfig);
node.serveUnixSocketAPI(absSockPath);

// serve config Addresses API & Gateway
Expand Down
10 changes: 7 additions & 3 deletions go/bind/core/node.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,11 @@ type Node struct {
ipfsMobile *ipfs_mobile.IpfsMobile
}

func NewNode(r *Repo, driver ProximityDriver) (*Node, error) {
func NewNode(r *Repo, config *NodeConfig) (*Node, error) {
if config == nil {
config = NewNodeConfig()
}

var dialer net.Dialer
net.DefaultResolver = &net.Resolver{
PreferGo: false,
Expand All @@ -58,14 +62,14 @@ func NewNode(r *Repo, driver ProximityDriver) (*Node, error) {

switch {
// Java embedded driver (android)
case driver != nil:
case config.bleDriver != nil:
logger := zap.NewExample()
defer func() {
if err := logger.Sync(); err != nil {
fmt.Println(err)
}
}()
bleOpt = libp2p.Transport(proximity.NewTransport(ctx, logger, driver))
bleOpt = libp2p.Transport(proximity.NewTransport(ctx, logger, config.bleDriver))
// Go embedded driver (ios)
case ble.Supported:
logger := zap.NewExample()
Expand Down
13 changes: 13 additions & 0 deletions go/bind/core/node_config.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package core

// Config is used in NewNode.
type NodeConfig struct {
bleDriver ProximityDriver
}

func NewNodeConfig() *NodeConfig {
return &NodeConfig{
}
}

func (c *NodeConfig) SetBleDriver(driver ProximityDriver) { c.bleDriver = driver }

0 comments on commit 7f1d1ff

Please sign in to comment.