<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 async def open_websocket_server(sock, filter=None):
 # pylint: disable=W0622 """ A context manager which serves this websocket. :param filter: an async callback which accepts the connection request and returns a bool, or an explicit Accept/Reject message. """

    ws = await create_websocket_server(sock, filter=filter)
    try:
        yield ws
    finally:
        await ws.close()