mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-07-01 03:22:48 -05:00
Extensive changes that _should_ fix the socket buffering problems,
by ceasing to listen on input channels if the corresponding output channel isn't accepting data. Has had basic check-I-didn't-actually- break-anything-too-badly testing, but hasn't been genuinely tested in stress conditions (because concocting stress conditions is non- trivial). [originally from svn r1198]
This commit is contained in:
14
putty.h
14
putty.h
@ -198,12 +198,20 @@ enum {
|
||||
|
||||
typedef struct {
|
||||
char *(*init) (char *host, int port, char **realhost);
|
||||
void (*send) (char *buf, int len);
|
||||
/* back->send() returns the current amount of buffered data. */
|
||||
int (*send) (char *buf, int len);
|
||||
/* back->sendbuffer() does the same thing but without attempting a send */
|
||||
int (*sendbuffer) (void);
|
||||
void (*size) (void);
|
||||
void (*special) (Telnet_Special code);
|
||||
Socket(*socket) (void);
|
||||
Socket(*socket) (void);
|
||||
int (*sendok) (void);
|
||||
int (*ldisc) (int);
|
||||
/*
|
||||
* back->unthrottle() tells the back end that the front end
|
||||
* buffer is clearing.
|
||||
*/
|
||||
void (*unthrottle) (int);
|
||||
int default_port;
|
||||
} Backend;
|
||||
|
||||
@ -436,7 +444,7 @@ void term_do_paste(void);
|
||||
void term_paste(void);
|
||||
void term_nopaste(void);
|
||||
int term_ldisc(int option);
|
||||
void from_backend(int is_stderr, char *data, int len);
|
||||
int from_backend(int is_stderr, char *data, int len);
|
||||
void logfopen(void);
|
||||
void logfclose(void);
|
||||
void term_copyall(void);
|
||||
|
Reference in New Issue
Block a user