code: def shutdown(self, how):
          
          if (how == 0) or (how == 2):
              # feign "read" shutdown
              self.eof_received = 1
          if (how == 1) or (how == 2):
              self.lock.acquire()
              try:
                  m = self._send_eof()
              finally:
                  self.lock.release()
              if m is not None:
                  self.transport._send_user_message(m)
docs: Shut down one or both halves of the connection.  If ``how`` is 0,
          further receives are disallowed.  If ``how`` is 1, further sends
          are disallowed.  If ``how`` is 2, further sends and receives are
          disallowed.  This closes the stream in one or both directions.
  
          :param int how:
              0 (stop receiving), 1 (stop sending), or 2 (stop receiving and
                sending).