+ defer m.Free(currBuffer)
+
+ return int(currBuffer.state)
+}
+
+func (m *RMRClient) Openwh(target string) C.rmr_whid_t {
+ return m.Wh_open(target)
+}
+
+func (m *RMRClient) Wh_open(target string) C.rmr_whid_t {
+ endpoint := C.CString(target)
+ return C.rmr_wh_open(m.context, endpoint)
+}
+
+func (m *RMRClient) Closewh(whid int) {
+ m.Wh_close(C.rmr_whid_t(whid))
+}
+
+func (m *RMRClient) Wh_close(whid C.rmr_whid_t) {
+ C.rmr_wh_close(m.context, whid)
+}
+
+func (m *RMRClient) IsRetryError(params *RMRParams) bool {
+ if params.status == int(C.RMR_ERR_RETRY) {
+ return true
+ }
+ return false
+}
+
+func (m *RMRClient) IsNoEndPointError(params *RMRParams) bool {
+ if params.status == int(C.RMR_ERR_NOENDPT) {
+ return true
+ }
+ return false