MCPcopy
hub / github.com/minio/minio-go / getObjectRDMA

Method getObjectRDMA

rdma.go:93–112  ·  view source on GitHub ↗
(_ context.Context, bucketName, objectName string,
	opts GetObjectOptions,
)

Source from the content-addressed store, hash-verified

91}
92
93func (c *Client) getObjectRDMA(_ context.Context, bucketName, objectName string,
94 opts GetObjectOptions,
95) (int64, error) {
96 h, err := c.rdma()
97 if err != nil {
98 return 0, err
99 }
100
101 bucketC := C.CString(bucketName)
102 defer C.free(unsafe.Pointer(bucketC))
103 objectC := C.CString(objectName)
104 defer C.free(unsafe.Pointer(objectC))
105
106 n := C.miniocpp_get_object(h.cptr, bucketC, objectC,
107 opts.RDMABuffer, C.size_t(opts.RDMABufferSize), nil, nil)
108 if n < 0 {
109 return 0, fmt.Errorf("RDMA get: %s", lastRDMAError())
110 }
111 return int64(n), nil
112}
113
114func (c *Client) rdma() (*rdmaClientHandle, error) {
115 c.rdmaOnce.Do(func() {

Callers 1

GetObjectMethod · 0.95

Calls 2

rdmaMethod · 0.95
lastRDMAErrorFunction · 0.85

Tested by

no test coverage detected