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 {