From 6005c59ad03446153c66a991f01ac91c31d98dac Mon Sep 17 00:00:00 2001 From: "David A. Mellis" Date: Sat, 7 Nov 2009 17:54:56 +0000 Subject: Moving libraries out of arduino platform / core directory and to top-level. --- libraries/Ethernet/Server.cpp | 91 ------------------------------------------- 1 file changed, 91 deletions(-) delete mode 100644 libraries/Ethernet/Server.cpp (limited to 'libraries/Ethernet/Server.cpp') diff --git a/libraries/Ethernet/Server.cpp b/libraries/Ethernet/Server.cpp deleted file mode 100644 index d17a5d3..0000000 --- a/libraries/Ethernet/Server.cpp +++ /dev/null @@ -1,91 +0,0 @@ -extern "C" { - #include "types.h" - #include "w5100.h" - #include "socket.h" - #include "string.h" -} - -#include "Ethernet.h" -#include "Client.h" -#include "Server.h" - -Server::Server(uint16_t port) -{ - _port = port; -} - -void Server::begin() -{ - for (int sock = 0; sock < MAX_SOCK_NUM; sock++) { - Client client(sock); - if (client.status() == SOCK_CLOSED) { - socket(sock, Sn_MR_TCP, _port, 0); - listen(sock); - EthernetClass::_server_port[sock] = _port; - break; - } - } -} - -void Server::accept() -{ - int listening = 0; - - for (int sock = 0; sock < MAX_SOCK_NUM; sock++) { - Client client(sock); - - if (EthernetClass::_server_port[sock] == _port) { - if (client.status() == SOCK_LISTEN) { - listening = 1; - } else if (client.status() == SOCK_CLOSE_WAIT && !client.available()) { - client.stop(); - } - } - } - - if (!listening) { - begin(); - } -} - -Client Server::available() -{ - accept(); - - for (int sock = 0; sock < MAX_SOCK_NUM; sock++) { - Client client(sock); - if (EthernetClass::_server_port[sock] == _port && - client.status() == SOCK_ESTABLISHED) { - if (client.available()) { - // XXX: don't always pick the lowest numbered socket. - return client; - } - } - } - - return Client(255); -} - -void Server::write(uint8_t b) -{ - write(&b, 1); -} - -void Server::write(const char *str) -{ - write((const uint8_t *)str, strlen(str)); -} - -void Server::write(const uint8_t *buffer, size_t size) -{ - accept(); - - for (int sock = 0; sock < MAX_SOCK_NUM; sock++) { - Client client(sock); - - if (EthernetClass::_server_port[sock] == _port && - client.status() == SOCK_ESTABLISHED) { - client.write(buffer, size); - } - } -} -- cgit v1.2.3-18-g5258