-func (cc *ClientConn) handleTransaction(transaction Transaction) error {
- requestNum := binary.BigEndian.Uint16(transaction.Type)
- if handler, ok := TransactionHandlers[requestNum]; ok {
- for _, reqField := range handler.RequiredFields {
- field := transaction.GetField(reqField.ID)
-
- // Validate that required field is present
- if field.ID == [2]byte{0, 0} {
- cc.logger.Error(
- "Missing required field",
- "RequestType", handler.Name, "FieldID", reqField.ID,
- )
- return nil
- }
-
- if len(field.Data) < reqField.minLen {
- cc.logger.Info(
- "Field does not meet minLen",
- "RequestType", handler.Name, "FieldID", reqField.ID,
- )
- return nil
- }
- }
+func (cftm *ClientFileTransferMgr) Add(ftType FileTransferType, ft *FileTransfer) {
+ cftm.mu.Lock()
+ defer cftm.mu.Unlock()
+
+ cftm.transfers[ftType][ft.refNum] = ft
+}
+
+func (cftm *ClientFileTransferMgr) Get(ftType FileTransferType) []FileTransfer {
+ cftm.mu.Lock()
+ defer cftm.mu.Unlock()
+
+ fts := cftm.transfers[ftType]