@cryptotaxi247 / kubo / commits / 4c2eda212

refactor: remove deprecated function

Brian Tiger Chow committed Jan 10, 2015 at 17:24 UTC 4c2eda21234482da8a2265ee792b60d6e49ea406
1 file changed +50 -57
core/core.go
+50 -57
@@ -78,9 +78,7 @@ type Mounts struct {
78
79 var errTODO = errors.New("TODO")
80
81 -type Configuration *IpfsNode // define a different type
82 -
83 -type ConfigOption func(ctx context.Context) (Configuration, error)
81 +type ConfigOption func(ctx context.Context) (*IpfsNode, error)
82
83 func NewIPFSNode(ctx context.Context, option ConfigOption) (*IpfsNode, error) {
84 config, err := option(ctx)
@@ -100,73 +98,68 @@ func Online(cfg *config.Config) ConfigOption {
98
99 // DEPRECATED: use Online, Offline functions
100 func Standard(cfg *config.Config, online bool) ConfigOption {
103 - return func(ctx context.Context) (Configuration, error) {
104 - return NewIpfsNode(ctx, cfg, online)
105 - }
106 -}
101 + return func(ctx context.Context) (n *IpfsNode, err error) {
102 +
103 + success := false // flip to true after all sub-system inits succeed
104 + defer func() {
105 + if !success && n != nil {
106 + n.Close()
107 + }
108 + }()
109
108 -// NewIpfsNode constructs a new IpfsNode based on the given config.
109 -// DEPRECATED: use `NewIPFSNode`
110 -func NewIpfsNode(ctx context.Context, cfg *config.Config, online bool) (n *IpfsNode, err error) {
111 - success := false // flip to true after all sub-system inits succeed
112 - defer func() {
113 - if !success && n != nil {
114 - n.Close()
110 + if cfg == nil {
111 + return nil, debugerror.Errorf("configuration required")
112 + }
113 + n = &IpfsNode{
114 + onlineMode: online,
115 + Config: cfg,
116 }
116 - }()
117
118 - if cfg == nil {
119 - return nil, debugerror.Errorf("configuration required")
120 - }
118 + n.ContextGroup = ctxgroup.WithContextAndTeardown(ctx, n.teardown)
119 + ctx = n.ContextGroup.Context()
120
122 - n = &IpfsNode{
123 - onlineMode: online,
124 - Config: cfg,
125 - }
126 - n.ContextGroup = ctxgroup.WithContextAndTeardown(ctx, n.teardown)
127 - ctx = n.ContextGroup.Context()
121 + // setup Peerstore
122 + n.Peerstore = peer.NewPeerstore()
123
129 - // setup Peerstore
130 - n.Peerstore = peer.NewPeerstore()
124 + // setup datastore.
125 + if n.Datastore, err = makeDatastore(cfg.Datastore); err != nil {
126 + return nil, debugerror.Wrap(err)
127 + }
128
132 - // setup datastore.
133 - if n.Datastore, err = makeDatastore(cfg.Datastore); err != nil {
134 - return nil, debugerror.Wrap(err)
135 - }
129 + // setup local peer ID (private key is loaded in online setup)
130 + if err := n.loadID(); err != nil {
131 + return nil, err
132 + }
133
137 - // setup local peer ID (private key is loaded in online setup)
138 - if err := n.loadID(); err != nil {
139 - return nil, err
140 - }
134 + n.Blockstore, err = bstore.WriteCached(bstore.NewBlockstore(n.Datastore), kSizeBlockstoreWriteCache)
135 + if err != nil {
136 + return nil, debugerror.Wrap(err)
137 + }
138
142 - n.Blockstore, err = bstore.WriteCached(bstore.NewBlockstore(n.Datastore), kSizeBlockstoreWriteCache)
143 - if err != nil {
144 - return nil, debugerror.Wrap(err)
145 - }
139 + // setup online services
140 + if online {
141 + if err := n.StartOnlineServices(); err != nil {
142 + return nil, err // debugerror.Wraps.
143 + }
144 + } else {
145 + n.Exchange = offline.Exchange(n.Blockstore)
146 + }
147
147 - // setup online services
148 - if online {
149 - if err := n.StartOnlineServices(); err != nil {
150 - return nil, err // debugerror.Wraps.
148 + n.Blocks, err = bserv.New(n.Blockstore, n.Exchange)
149 + if err != nil {
150 + return nil, debugerror.Wrap(err)
151 }
152 - } else {
153 - n.Exchange = offline.Exchange(n.Blockstore)
154 - }
152
156 - n.Blocks, err = bserv.New(n.Blockstore, n.Exchange)
157 - if err != nil {
158 - return nil, debugerror.Wrap(err)
159 - }
153 + n.DAG = merkledag.NewDAGService(n.Blocks)
154 + n.Pinning, err = pin.LoadPinner(n.Datastore, n.DAG)
155 + if err != nil {
156 + n.Pinning = pin.NewPinner(n.Datastore, n.DAG)
157 + }
158 + n.Resolver = &path.Resolver{DAG: n.DAG}
159
161 - n.DAG = merkledag.NewDAGService(n.Blocks)
162 - n.Pinning, err = pin.LoadPinner(n.Datastore, n.DAG)
163 - if err != nil {
164 - n.Pinning = pin.NewPinner(n.Datastore, n.DAG)
160 + success = true
161 + return n, nil
162 }
166 - n.Resolver = &path.Resolver{DAG: n.DAG}
167 -
168 - success = true
169 - return n, nil
163 }
164
165 func (n *IpfsNode) StartOnlineServices() error {