@@ -910,7 +910,7 @@ func (cs *clientStream) SendMsg(m any) (err error) {
910
910
}
911
911
912
912
// load hdr, payload, data
913
- hdr , data , payload , pf , err := prepareMsg (m , cs .codec , cs .compressorV0 , cs .compressorV1 , cs .cc .dopts .copts .BufferPool )
913
+ hdr , data , payload , pf , err := prepareMsg (m , cs .codec , cs .compressorV0 , cs .compressorV1 , cs .cc .dopts .copts .BufferPool , cs . callInfo . compressorOptions )
914
914
if err != nil {
915
915
return err
916
916
}
@@ -1417,7 +1417,7 @@ func (as *addrConnStream) SendMsg(m any) (err error) {
1417
1417
}
1418
1418
1419
1419
// load hdr, payload, data
1420
- hdr , data , payload , pf , err := prepareMsg (m , as .codec , as .sendCompressorV0 , as .sendCompressorV1 , as .ac .dopts .copts .BufferPool )
1420
+ hdr , data , payload , pf , err := prepareMsg (m , as .codec , as .sendCompressorV0 , as .sendCompressorV1 , as .ac .dopts .copts .BufferPool , as . callInfo . compressorOptions )
1421
1421
if err != nil {
1422
1422
return err
1423
1423
}
@@ -1814,7 +1814,7 @@ func MethodFromServerStream(stream ServerStream) (string, bool) {
1814
1814
// compression was made and therefore whether the payload needs to be freed in
1815
1815
// addition to the returned data. Freeing the payload if the returned boolean is
1816
1816
// false can lead to undefined behavior.
1817
- func prepareMsg (m any , codec baseCodec , cp Compressor , comp encoding.Compressor , pool mem.BufferPool ) (hdr []byte , data , payload mem.BufferSlice , pf payloadFormat , err error ) {
1817
+ func prepareMsg (m any , codec baseCodec , cp Compressor , comp encoding.Compressor , pool mem.BufferPool , compressorOptions ... any ) (hdr []byte , data , payload mem.BufferSlice , pf payloadFormat , err error ) {
1818
1818
if preparedMsg , ok := m .(* PreparedMsg ); ok {
1819
1819
return preparedMsg .hdr , preparedMsg .encodedData , preparedMsg .payload , preparedMsg .pf , nil
1820
1820
}
@@ -1824,7 +1824,7 @@ func prepareMsg(m any, codec baseCodec, cp Compressor, comp encoding.Compressor,
1824
1824
if err != nil {
1825
1825
return nil , nil , nil , 0 , err
1826
1826
}
1827
- compData , pf , err := compress (data , cp , comp , pool )
1827
+ compData , pf , err := compress (data , cp , comp , pool , compressorOptions ... )
1828
1828
if err != nil {
1829
1829
data .Free ()
1830
1830
return nil , nil , nil , 0 , err
0 commit comments