-func NewRMRClientWithParams(protPort string, maxSize int, threadType int, statDesc string) *RMRClient {
- p := C.CString(protPort)
- m := C.int(maxSize)
- c := C.int(threadType)
+func (params *RMRParams) String() string {
+ var b bytes.Buffer
+ fmt.Fprintf(&b, "params(Src=%s Mtype=%d SubId=%d Xid=%s Meid=%s Paylens=%d/%d Paymd5=%x)", params.Src, params.Mtype, params.SubId, params.Xid, params.Meid, params.PayloadLen, len(params.Payload), md5.Sum(params.Payload))
+ return b.String()
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+type RMRClientParams struct {
+ StatDesc string
+ RmrData PortData
+}
+
+func (params *RMRClientParams) String() string {
+ return fmt.Sprintf("ProtPort=%d MaxSize=%d ThreadType=%d StatDesc=%s LowLatency=%t FastAck=%t Policies=%v",
+ params.RmrData.Port, params.RmrData.MaxSize, params.RmrData.ThreadType, params.StatDesc,
+ params.RmrData.LowLatency, params.RmrData.FastAck, params.RmrData.Policies)
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+func NewRMRClientWithParams(params *RMRClientParams) *RMRClient {
+ p := C.CString(fmt.Sprintf("%d", params.RmrData.Port))
+ m := C.int(params.RmrData.MaxSize)
+ c := C.int(params.RmrData.ThreadType)