forked from Elara6331/itd
		
	Improve error handling
This commit is contained in:
		
							
								
								
									
										21
									
								
								socket.go
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								socket.go
									
									
									
									
									
								
							| @@ -37,8 +37,9 @@ import ( | |||||||
| 	"go.arsenm.dev/itd/api" | 	"go.arsenm.dev/itd/api" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // This type signifies an unneeded valie. | // This type signifies an unneeded value. | ||||||
| // A struct{} is used as it takes no space in memory. | // A struct{} is used as it takes no space in memory. | ||||||
|  | // This exists for readability purposes | ||||||
| type none = struct{} | type none = struct{} | ||||||
|  |  | ||||||
| var ( | var ( | ||||||
| @@ -100,14 +101,20 @@ func startSocket(dev *infinitime.Device) error { | |||||||
| 		dev: dev, | 		dev: dev, | ||||||
| 		srv: srv, | 		srv: srv, | ||||||
| 	} | 	} | ||||||
| 	srv.Register(itdAPI, "") | 	err = srv.Register(itdAPI, "") | ||||||
|  | 	if err != nil { | ||||||
|  | 		return err | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	fsAPI := &FS{ | 	fsAPI := &FS{ | ||||||
| 		dev: dev, | 		dev: dev, | ||||||
| 		fs:  fs, | 		fs:  fs, | ||||||
| 		srv: srv, | 		srv: srv, | ||||||
| 	} | 	} | ||||||
| 	srv.Register(fsAPI, "") | 	err = srv.Register(fsAPI, "") | ||||||
|  | 	if err != nil { | ||||||
|  | 		return err | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	go srv.ServeListener("unix", ln) | 	go srv.ServeListener("unix", ln) | ||||||
|  |  | ||||||
| @@ -150,6 +157,7 @@ func (i *ITD) WatchHeartRate(ctx context.Context, _ none, out *string) error { | |||||||
| 			default: | 			default: | ||||||
| 				data, err := msgpack.Marshal(heartRate) | 				data, err := msgpack.Marshal(heartRate) | ||||||
| 				if err != nil { | 				if err != nil { | ||||||
|  | 					log.Error().Err(err).Msg("Error encoding heart rate") | ||||||
| 					continue | 					continue | ||||||
| 				} | 				} | ||||||
|  |  | ||||||
| @@ -191,6 +199,7 @@ func (i *ITD) WatchBatteryLevel(ctx context.Context, _ none, out *string) error | |||||||
| 			default: | 			default: | ||||||
| 				data, err := msgpack.Marshal(battLevel) | 				data, err := msgpack.Marshal(battLevel) | ||||||
| 				if err != nil { | 				if err != nil { | ||||||
|  | 					log.Error().Err(err).Msg("Error encoding battery level") | ||||||
| 					continue | 					continue | ||||||
| 				} | 				} | ||||||
|  |  | ||||||
| @@ -232,6 +241,7 @@ func (i *ITD) WatchMotion(ctx context.Context, _ none, out *string) error { | |||||||
| 			default: | 			default: | ||||||
| 				data, err := msgpack.Marshal(motionVals) | 				data, err := msgpack.Marshal(motionVals) | ||||||
| 				if err != nil { | 				if err != nil { | ||||||
|  | 					log.Error().Err(err).Msg("Error encoding motion values") | ||||||
| 					continue | 					continue | ||||||
| 				} | 				} | ||||||
|  |  | ||||||
| @@ -273,6 +283,7 @@ func (i *ITD) WatchStepCount(ctx context.Context, _ none, out *string) error { | |||||||
| 			default: | 			default: | ||||||
| 				data, err := msgpack.Marshal(stepCount) | 				data, err := msgpack.Marshal(stepCount) | ||||||
| 				if err != nil { | 				if err != nil { | ||||||
|  | 					log.Error().Err(err).Msg("Error encoding step count") | ||||||
| 					continue | 					continue | ||||||
| 				} | 				} | ||||||
|  |  | ||||||
| @@ -361,6 +372,7 @@ func (i *ITD) FirmwareUpgrade(ctx context.Context, reqData api.FwUpgradeData, ou | |||||||
| 		for event := range i.dev.DFU.Progress() { | 		for event := range i.dev.DFU.Progress() { | ||||||
| 			data, err := msgpack.Marshal(event) | 			data, err := msgpack.Marshal(event) | ||||||
| 			if err != nil { | 			if err != nil { | ||||||
|  | 				log.Error().Err(err).Msg("Error encoding DFU progress event") | ||||||
| 				continue | 				continue | ||||||
| 			} | 			} | ||||||
|  |  | ||||||
| @@ -378,6 +390,7 @@ func (i *ITD) FirmwareUpgrade(ctx context.Context, reqData api.FwUpgradeData, ou | |||||||
| 		// Start DFU | 		// Start DFU | ||||||
| 		err := i.dev.DFU.Start() | 		err := i.dev.DFU.Start() | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
|  | 			log.Error().Err(err).Msg("Error while upgrading firmware") | ||||||
| 			firmwareUpdating = false | 			firmwareUpdating = false | ||||||
| 			return | 			return | ||||||
| 		} | 		} | ||||||
| @@ -478,6 +491,7 @@ func (fs *FS) Upload(ctx context.Context, paths [2]string, out *string) error { | |||||||
| 				Sent:  sent, | 				Sent:  sent, | ||||||
| 			}) | 			}) | ||||||
| 			if err != nil { | 			if err != nil { | ||||||
|  | 				log.Error().Err(err).Msg("Error encoding filesystem transfer progress event") | ||||||
| 				continue | 				continue | ||||||
| 			} | 			} | ||||||
|  |  | ||||||
| @@ -521,6 +535,7 @@ func (fs *FS) Download(ctx context.Context, paths [2]string, out *string) error | |||||||
| 				Sent:  rcvd, | 				Sent:  rcvd, | ||||||
| 			}) | 			}) | ||||||
| 			if err != nil { | 			if err != nil { | ||||||
|  | 				log.Error().Err(err).Msg("Error encoding filesystem transfer progress event") | ||||||
| 				continue | 				continue | ||||||
| 			} | 			} | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user