New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DCC SEND & RECEIVE Updates #379
Conversation
jenga201
commented
Jul 13, 2019
•
edited
edited
- Fixing send and receive acknowledgement to work with HexChat, mIRC, KVIrc differences
- Add DCC States CONNECTING, WAITING, SHUTDOWN, ERROR
- Made SendFileTransfer more efficient by offloading the acknowledgements to a thread
- Fixed resuming Received and Sent files
- Simplify and consolidate socket connection
- Add file transfer stats updated live with bytes transferred and average speed
- Add onFileTransferComplete event
- onFileTransferComplete holds DccException. Reason FILE_TRANSFER_CANCELLED means the user closed the socket. Reason FILE_TRANSFER_TIMEOUT means the socket connection did not complete.
- DCC Transfers are no longer blocked. This allows users to poll file transfer stats without needing thread code.
- Shutdown active send/receive transfers when quitServer() / shutdown() methods are called
- Allow users to kill transfers by calling FileTransfer.shutdown()
- Removed unneeded methods acceptAndTransfer and acceptResumeAndTransfer
* Sending acknowledgement correctly on transfers * Added additional Dcc States WAITING and ERROR * Made SendFileTransfer more efficient by offloading the acknowledgements to a thread * Fixed resuming Received files * Still work to do when handling acknowledgements (properly report error scenarios) * Update bytesTransfered to be accurate for both sending and receiving files New transfer methods should allow for future status reporting and bandwidth limiting
mIRC and HexChat seem to work well. KVIrc Issues; RESUME closes the connection with SEND sometimes the transfer ends with; |
… KVIrc differences * Simplify and consolidate socket connection * Add file transfer stats updated live with bytes transferred and average speed * Add onFileTransferComplete event * DCC Transfers are no longer blocked. This allows users to poll file transfer stats without needing thread code. * Shutdown active send/receive transfers when quitServer() / shutdown() methods are called * Allow users to kill transfers by calling FileTransfer.shutdown() * Add DCC States CONNECTING, WAITING, SHUTDOWN, ERROR * Removed unneeded methods acceptAndTransfer and acceptResumeAndTransfer
No more issues that I can find. |
ok, i just pulled the pr but i can't seem to run my project with this version, always getting: |
com.google.common.collect.Lists has been a dependency in PircBotX. The steps to pull/build would be; You should then see Success and the build in target/pircbotx-2.3-SNAPSHOT.jar |
i know, i just pulled a fresh copy and run maven clean install. there are no issues in the ide but when i try to build a Configuration like this:
i still get the error. like i said the IDE can resolve it and all but at runtime it seems to be missing. |
Could you paste the full stack trace? And just as a test, try clearing out your .m2 directory before re-building. |
i tried deleting the com/google/ folder but there was no change, here's the stacktrace:
|
Fixing outstanding buts in countdown latch.
I wasn't able to reproduce the error you're getting. This test project is showing files being received with the only includes being pircbotx and logging. |
yeah, that seemed to be the problem, i had it pulled as a jar dependency with my ide. now it works. |
Looks good to me. @jenga201 do you have more changes for this PR ? |
One more change to leverage the existing DCCException class. Should be done with that today. Any other bugs I find, I'll do other PRs for. |
I'm done with commits for this PR. |
LGMT |