1004
1005 // Network access
1006 networkStream::networkStream() : bufferedStream(1024*10, 1024*10) {
1007
1008 _socket = -1;
1009
1010 int result = os::socket(AF_INET, SOCK_STREAM, 0);
1011 if (result <= 0) {
1012 assert(false, "Socket could not be created!");
1013 } else {
1014 _socket = result;
1015 }
1016 }
1017
1018 int networkStream::read(char *buf, size_t len) {
1019 return os::recv(_socket, buf, (int)len, 0);
1020 }
1021
1022 void networkStream::flush() {
1023 if (size() != 0) {
1024 int result = os::raw_send(_socket, (char *)base(), size(), 0);
1025 assert(result != -1, "connection error");
1026 assert(result == (int)size(), "didn't send enough data");
1027 }
1028 reset();
1029 }
1030
1031 networkStream::~networkStream() {
1032 close();
1033 }
1034
1035 void networkStream::close() {
1036 if (_socket != -1) {
1037 flush();
1038 os::socket_close(_socket);
1039 _socket = -1;
1040 }
1041 }
1042
1043 bool networkStream::connect(const char *ip, short port) {
1044
|
1004
1005 // Network access
1006 networkStream::networkStream() : bufferedStream(1024*10, 1024*10) {
1007
1008 _socket = -1;
1009
1010 int result = os::socket(AF_INET, SOCK_STREAM, 0);
1011 if (result <= 0) {
1012 assert(false, "Socket could not be created!");
1013 } else {
1014 _socket = result;
1015 }
1016 }
1017
1018 int networkStream::read(char *buf, size_t len) {
1019 return os::recv(_socket, buf, (int)len, 0);
1020 }
1021
1022 void networkStream::flush() {
1023 if (size() != 0) {
1024 assert(!(size()>>31),"size() should be limited by buffer_max and never need 32 bits");
1025 int result = os::raw_send(_socket, (char *)base(), (int)size(), 0);
1026 assert(result != -1, "connection error");
1027 assert(result == (int)size(), "didn't send enough data");
1028 }
1029 reset();
1030 }
1031
1032 networkStream::~networkStream() {
1033 close();
1034 }
1035
1036 void networkStream::close() {
1037 if (_socket != -1) {
1038 flush();
1039 os::socket_close(_socket);
1040 _socket = -1;
1041 }
1042 }
1043
1044 bool networkStream::connect(const char *ip, short port) {
1045
|