WIP. Compiles and tests pass. Need to write specific tests.
diff --git a/BUILD b/BUILD
index 6371a02..94075b4 100644
--- a/BUILD
+++ b/BUILD
@@ -150,6 +150,7 @@
     "src/core/channel/child_channel.h",
     "src/core/channel/client_channel.h",
     "src/core/channel/client_setup.h",
+    "src/core/channel/compress_filter.h",
     "src/core/channel/connected_channel.h",
     "src/core/channel/http_client_filter.h",
     "src/core/channel/http_server_filter.h",
@@ -254,6 +255,7 @@
     "src/core/channel/child_channel.c",
     "src/core/channel/client_channel.c",
     "src/core/channel/client_setup.c",
+    "src/core/channel/compress_filter.c",
     "src/core/channel/connected_channel.c",
     "src/core/channel/http_client_filter.c",
     "src/core/channel/http_server_filter.c",
@@ -371,6 +373,7 @@
     "src/core/channel/child_channel.h",
     "src/core/channel/client_channel.h",
     "src/core/channel/client_setup.h",
+    "src/core/channel/compress_filter.h",
     "src/core/channel/connected_channel.h",
     "src/core/channel/http_client_filter.h",
     "src/core/channel/http_server_filter.h",
@@ -453,6 +456,7 @@
     "src/core/channel/child_channel.c",
     "src/core/channel/client_channel.c",
     "src/core/channel/client_setup.c",
+    "src/core/channel/compress_filter.c",
     "src/core/channel/connected_channel.c",
     "src/core/channel/http_client_filter.c",
     "src/core/channel/http_server_filter.c",