@@ -24,8 +24,12 @@ var transferringStates = []fsm.StateKey{
2424
2525// ChannelEvents describe the events taht can
2626var ChannelEvents = fsm.Events {
27+ // Open a channel
2728 fsm .Event (datatransfer .Open ).FromAny ().To (datatransfer .Requested ),
29+
30+ // Remote peer has accepted the Open channel request
2831 fsm .Event (datatransfer .Accept ).From (datatransfer .Requested ).To (datatransfer .Ongoing ),
32+
2933 fsm .Event (datatransfer .Restart ).FromAny ().ToNoChange ().Action (func (chst * internal.ChannelState ) error {
3034 chst .Message = ""
3135 return nil
@@ -52,15 +56,27 @@ var ChannelEvents = fsm.Events{
5256 chst .Queued += delta
5357 return nil
5458 }),
55- fsm .Event (datatransfer .Disconnected ).FromAny ().ToNoChange ().Action (func (chst * internal.ChannelState ) error {
56- chst .Message = datatransfer .ErrDisconnected .Error ()
59+
60+ fsm .Event (datatransfer .Disconnected ).FromAny ().ToNoChange ().Action (func (chst * internal.ChannelState , err error ) error {
61+ chst .Message = err .Error ()
62+ return nil
63+ }),
64+
65+ fsm .Event (datatransfer .SendDataError ).FromAny ().ToNoChange ().Action (func (chst * internal.ChannelState , err error ) error {
66+ chst .Message = err .Error ()
67+ return nil
68+ }),
69+
70+ fsm .Event (datatransfer .RequestTimedOut ).FromAny ().ToNoChange ().Action (func (chst * internal.ChannelState , err error ) error {
71+ chst .Message = err .Error ()
5772 return nil
5873 }),
5974
6075 fsm .Event (datatransfer .Error ).FromAny ().To (datatransfer .Failing ).Action (func (chst * internal.ChannelState , err error ) error {
6176 chst .Message = err .Error ()
6277 return nil
6378 }),
79+
6480 fsm .Event (datatransfer .NewVoucher ).FromAny ().ToNoChange ().
6581 Action (func (chst * internal.ChannelState , vtype datatransfer.TypeIdentifier , voucherBytes []byte ) error {
6682 chst .Vouchers = append (chst .Vouchers , internal.EncodedVoucher {Type : vtype , Voucher : & cbg.Deferred {Raw : voucherBytes }})
@@ -72,41 +88,54 @@ var ChannelEvents = fsm.Events{
7288 internal.EncodedVoucherResult {Type : vtype , VoucherResult : & cbg.Deferred {Raw : voucherResultBytes }})
7389 return nil
7490 }),
91+
7592 fsm .Event (datatransfer .PauseInitiator ).
7693 FromMany (datatransfer .Requested , datatransfer .Ongoing ).To (datatransfer .InitiatorPaused ).
7794 From (datatransfer .ResponderPaused ).To (datatransfer .BothPaused ).
7895 FromAny ().ToJustRecord (),
96+
7997 fsm .Event (datatransfer .PauseResponder ).
8098 FromMany (datatransfer .Requested , datatransfer .Ongoing ).To (datatransfer .ResponderPaused ).
8199 From (datatransfer .InitiatorPaused ).To (datatransfer .BothPaused ).
82100 FromAny ().ToJustRecord (),
101+
83102 fsm .Event (datatransfer .ResumeInitiator ).
84103 From (datatransfer .InitiatorPaused ).To (datatransfer .Ongoing ).
85104 From (datatransfer .BothPaused ).To (datatransfer .ResponderPaused ).
86105 FromAny ().ToJustRecord (),
106+
87107 fsm .Event (datatransfer .ResumeResponder ).
88108 From (datatransfer .ResponderPaused ).To (datatransfer .Ongoing ).
89109 From (datatransfer .BothPaused ).To (datatransfer .InitiatorPaused ).
90110 From (datatransfer .Finalizing ).To (datatransfer .Completing ).
91111 FromAny ().ToJustRecord (),
112+
113+ // The transfer has finished on the local node - all data was sent / received
92114 fsm .Event (datatransfer .FinishTransfer ).
93115 FromAny ().To (datatransfer .TransferFinished ).
94116 FromMany (datatransfer .Failing , datatransfer .Cancelling ).ToJustRecord ().
95117 From (datatransfer .ResponderCompleted ).To (datatransfer .Completing ).
96118 From (datatransfer .ResponderFinalizing ).To (datatransfer .ResponderFinalizingTransferFinished ),
119+
97120 fsm .Event (datatransfer .ResponderBeginsFinalization ).
98121 FromAny ().To (datatransfer .ResponderFinalizing ).
99122 FromMany (datatransfer .Failing , datatransfer .Cancelling ).ToJustRecord ().
100123 From (datatransfer .TransferFinished ).To (datatransfer .ResponderFinalizingTransferFinished ),
124+
125+ // The remote peer sent a Complete message, meaning it has sent / received all data
101126 fsm .Event (datatransfer .ResponderCompletes ).
102127 FromAny ().To (datatransfer .ResponderCompleted ).
103128 FromMany (datatransfer .Failing , datatransfer .Cancelling ).ToJustRecord ().
104129 From (datatransfer .ResponderPaused ).To (datatransfer .ResponderFinalizing ).
105130 From (datatransfer .TransferFinished ).To (datatransfer .Completing ).
106131 From (datatransfer .ResponderFinalizing ).To (datatransfer .ResponderCompleted ).
107132 From (datatransfer .ResponderFinalizingTransferFinished ).To (datatransfer .Completing ),
133+
108134 fsm .Event (datatransfer .BeginFinalizing ).FromAny ().To (datatransfer .Finalizing ),
135+
136+ // Both the local node and the remote peer have completed the transfer
109137 fsm .Event (datatransfer .Complete ).FromAny ().To (datatransfer .Completing ),
138+
110139 fsm .Event (datatransfer .CleanupComplete ).
111140 From (datatransfer .Cancelling ).To (datatransfer .Cancelled ).
112141 From (datatransfer .Failing ).To (datatransfer .Failed ).
0 commit comments