From b96b045ecc6e034307ba8065af73c252e0093bbb Mon Sep 17 00:00:00 2001 From: Dwayne Boone Date: Thu, 5 Mar 2015 15:44:08 -0330 Subject: ICE-6082 No way to discover send/recv buffer sizes --- php/src/IcePHP/Connection.cpp | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'php/src/IcePHP/Connection.cpp') diff --git a/php/src/IcePHP/Connection.cpp b/php/src/IcePHP/Connection.cpp index 1847dd9124b..e04d7123ea6 100644 --- a/php/src/IcePHP/Connection.cpp +++ b/php/src/IcePHP/Connection.cpp @@ -303,6 +303,32 @@ ZEND_METHOD(Ice_Connection, getInfo) } } +ZEND_METHOD(Ice_Connection, setBufferSize) +{ + Ice::ConnectionPtr _this = Wrapper::value(getThis() TSRMLS_CC); + assert(_this); + + zval* r; + zval* s; + if(zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, const_cast("zz"), &r, &s TSRMLS_CC) != SUCCESS) + { + RETURN_NULL(); + } + + int rcvSize = static_cast(Z_LVAL_P(r)); + int sndSize = static_cast(Z_LVAL_P(s)); + + try + { + _this->setBufferSize(rcvSize, sndSize); + } + catch(const IceUtil::Exception& ex) + { + throwException(ex TSRMLS_CC); + RETURN_NULL(); + } +} + #ifdef _WIN32 extern "C" #endif @@ -389,6 +415,7 @@ static zend_function_entry _connectionClassMethods[] = ZEND_ME(Ice_Connection, timeout, NULL, ZEND_ACC_PUBLIC) ZEND_ME(Ice_Connection, toString, NULL, ZEND_ACC_PUBLIC) ZEND_ME(Ice_Connection, getInfo, NULL, ZEND_ACC_PUBLIC) + ZEND_ME(Ice_Connection, setBufferSize, NULL, ZEND_ACC_PUBLIC) {0, 0, 0} }; @@ -650,6 +677,8 @@ IcePHP::createConnectionInfo(zval* zv, const Ice::ConnectionInfoPtr& p TSRMLS_DC add_property_bool(zv, STRCAST("incoming"), p->incoming ? 1 : 0); add_property_string(zv, STRCAST("adapterName"), const_cast(p->adapterName.c_str()), 1); + add_property_long(zv, STRCAST("rcvSize"), static_cast(p->rcvSize)); + add_property_long(zv, STRCAST("sndSize"), static_cast(p->sndSize)); Wrapper* obj = Wrapper::extract(zv TSRMLS_CC); assert(obj); -- cgit v1.2.3