@@ -8,11 +8,12 @@ use bytes::Bytes;
88use pyo3:: exceptions:: PyValueError ;
99use pyo3:: prelude:: * ;
1010use pyo3:: { Bound , Python } ;
11- use vortex:: ArrayRegistry ;
11+ use vortex:: ArraySessionExt ;
1212use vortex_ipc:: messages:: { DecoderMessage , MessageDecoder , PollRead } ;
1313
1414use crate :: arrays:: PyArrayRef ;
1515use crate :: install_module;
16+ use crate :: SESSION ;
1617use crate :: serde:: context:: PyArrayContext ;
1718use crate :: serde:: parts:: PyArrayParts ;
1819
@@ -48,7 +49,7 @@ pub(crate) fn init(py: Python, parent: &Bound<PyModule>) -> PyResult<()> {
4849/// The decoded Vortex array
4950#[ pyfunction]
5051fn decode_ipc_array ( array_bytes : Vec < u8 > , dtype_bytes : Vec < u8 > ) -> PyResult < PyArrayRef > {
51- let registry = ArrayRegistry :: canonical_only ( ) ;
52+ let registry = SESSION . arrays ( ) . registry ( ) . clone ( ) ;
5253 let mut decoder = MessageDecoder :: new ( registry) ;
5354
5455 let mut dtype_buf = Bytes :: from ( dtype_bytes) ;
@@ -102,7 +103,7 @@ fn decode_ipc_array_buffers<'py>(
102103) -> PyResult < PyArrayRef > {
103104 use pyo3:: buffer:: PyBuffer ;
104105
105- let registry = ArrayRegistry :: canonical_only ( ) ;
106+ let registry = SESSION . arrays ( ) . registry ( ) . clone ( ) ;
106107 let mut decoder = MessageDecoder :: new ( registry) ;
107108
108109 // Concatenate dtype buffers
0 commit comments