diff --git a/include/memory-faucet.h b/include/memory-faucet.h
index ed986b4a06f7cd09079e4df05a9b0df95fac8f87..a5f1bf7075a8f7fc0642d51e01bf4d6a4292eef9 100644
--- a/include/memory-faucet.h
+++ b/include/memory-faucet.h
@@ -42,5 +42,6 @@ public:
     const void* ptr() const;
     void free_memory();
     int get_size() const;
+    int get_id() const;
     void get_memory(const size_t required_size);
 };
\ No newline at end of file
diff --git a/src/memory-faucet.cpp b/src/memory-faucet.cpp
index d12847666da75d8160250e517d21f53b2e808727..ef50c5f3246cbd32f840c8d1fa58d70f2d504949 100644
--- a/src/memory-faucet.cpp
+++ b/src/memory-faucet.cpp
@@ -103,6 +103,12 @@ int memBuf<mem, choose_type>::get_size() const
     return size;
 }
 
+template< MemType mem, buf_choose_policy choose_type >
+int memBuf<mem, choose_type>::get_id() const
+{
+    return id;
+}
+
 template< MemType mem, buf_choose_policy choose_type >
 memBuf<mem, choose_type>::memBuf() 
 {