sendWhenReady method
raw connection need to handle error and resending of data, so it can only send one map at a time a new getData function will always overwrite the previous one; requester and responder should handle the merging of methods
Implementation
@override
void sendWhenReady(ConnectionHandler handler) {
this.handler = handler;
conn?.requireSend();
}