Skip to content

Commit

Permalink
More misc send fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
kovidgoyal committed Jul 2, 2023
1 parent cf19412 commit ddaebf9
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 5 deletions.
10 changes: 5 additions & 5 deletions kittens/transfer/ftc.go
Original file line number Diff line number Diff line change
Expand Up @@ -330,15 +330,15 @@ func NewFileTransmissionCommand(serialized string) (ans *FileTransmissionCommand
func split_for_transfer(data []byte, file_id string, mark_last bool, callback func(*FileTransmissionCommand)) {
const chunk_size = 4096
for len(data) > 0 {
ac := Action_data
if mark_last && len(data) <= chunk_size {
ac = Action_end_data
}
chunk := data
if len(chunk) > chunk_size {
chunk = data[:chunk_size]
}
callback(&FileTransmissionCommand{Action: ac, File_id: file_id, Data: chunk})
data = data[len(chunk):]
ac := Action_data
if mark_last && len(data) == 0 {
ac = Action_end_data
}
callback(&FileTransmissionCommand{Action: ac, File_id: file_id, Data: chunk})
}
}
6 changes: 6 additions & 0 deletions kittens/transfer/send.go
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ func (self *ZlibCompressor) Compress(data []byte) []byte {
if err != nil {
panic(err)
}
defer self.b.Reset()
return utils.UnsafeStringToBytes(self.b.String())
}

Expand Down Expand Up @@ -979,7 +980,12 @@ func (self *SendManager) next_chunks(callback func(string)) error {
split_for_transfer(utils.UnsafeStringToBytes(chunk), af.file_id, is_last, func(ftc *FileTransmissionCommand) { callback(ftc.Serialize()) })
} else if is_last {
callback(FileTransmissionCommand{Action: Action_end_data, File_id: af.file_id}.Serialize())
}
if is_last {
self.activate_next_ready_file()
if self.active_file() == nil {
return nil
}
}
}
}
Expand Down

0 comments on commit ddaebf9

Please sign in to comment.